![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 1 495 Pomógł: 245 Dołączył: 1.07.2009 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
Mam 2 tabele w bazie:
Wiadomosci: id_w od_kogo do_kogo tekst Userzy: id_u nazwa Kiedy user wysyła wiadomość (np. user o nazwie AAA i id=1 do usera BBB o id=2) to w tabeli wiadomości zostanie dodany rekord o wartości pól: od_kogo=1 i do_kogo=2:
Moje pytanie brzmi jak wyświetlić te wiadomości tak aby zamiast id userów pojawiły się ich nazwy. Normalnie nie miałem z tym problemów bo robiłem to tak: Ale tutaj jest problem bo przecież pola od_kogo i do_kogo oba są wartościami id z tabeli userzy. Jak skonsrtuować zapytanie aby SQL nie zgłupiał? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
LEFT JOIN (IMG:style_emoticons/default/winksmiley.jpg)
To wyświetli Ci wszystkie wiadomości w bazie od najnowszej do najstarszej. Ale jeśli chcesz znać wszystkie kolumny z tabeli wiadomości to użyj w.* bo to poda też id userów, co może Ci się przydać gdy będziesz chciał podpiąć link z czymś co wiąże się z pisaniem odpowiedzi czy innych operacji wymagających posiadania id. Post powyżej też daje odpowiedź, ale każde podzapytanie sprawi niepotrzebny narzut czasu. A teraz wyciągnij z bazy kilkadziesiąt choćby wiadomości, gdy do każdego wiersza wywołujesz 2 podzapytania. To staje się zwyczajnie nieoptymalne i czasochłonne. Ten post edytował thek 23.08.2009, 12:32:11 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 1 495 Pomógł: 245 Dołączył: 1.07.2009 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
Ale co to jest u1 i u2? Rozumiem ze user1 i user2 ale jak to ma SQL rozpoznac skoro nie odwoluje sie to do nazwy kolumny?
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 3.10.2025 - 00:05 |