ďťż
Podstrony
|
telcocafeW tabeli COMMS znajduje się pole o nazwie "AT". Jak napisać zapytanie, które pobierze wartość pola "login" z tabeli USERS, jeśli "AT" jest równe 1? Jeśli tak - jaką wartość będzie miało "login" w przeciwnym wypadku? Null?W tabeli COMMS znajduje się pole o nazwie "AT". Jak napisać zapytanie, które pobierze wartość pola "login" z tabeli USERS, jeśli "AT" jest równe 1? Jeśli tak - jaką wartość będzie miało "login" w przeciwnym wypadku? Null? znaczy się że o co ci chodzi? select u.login from users u inner join comms c on c.at = u.at where c.at=1 o to ci chodziło? jeżeli tak to powiem że zwróci ci login jeżeli takie at istnieje w jednej i drugiej tabeli jeżeli nie istnieje w której kolwiek nie zwróci nic czyli zwróci zero wierszy Muszę to przedstawić graficznie. Tabela COMMS: ... | at | author | ... Tabela USERS: ID | login | ... Pobieram dane z tabeli COMMS. Chcę jednak, aby została pobrana wartość LOGIN z tabeli USERS, jeśli pole at jest równe 1. Wartość pola ID (w USERS) jest wtedy równa wartości pola AUTHOR (w COMMS). Tu chyba trzeba połączyć tabele komendą JOIN. Dobrze by było, aby kod wykonywał się szybko. Użytkownik Ferrari edytował ten post 20 wrzesień 2006, 19:48 to prawie wszystko j-mail zrobil :P SELECT users.login, comms.jakies_pole FROM comms inner join users on comms.user=users.id AND comms.at=1 Powyższe rozwiązanie jest dobre, lecz zamiast INNER JOIN trzeba było użyć LEFT JOIN. PS. Czym się różni LEFT JOIN od RIGHT JOIN i które rozwiązanie będzie szybsze? http://dev.mysql.com....1/en/join.html a także http://dev.mysql.com...timization.html Użytkownik Mathew edytował ten post 21 wrzesień 2006, 16:33 |
|||
Sitedesign by AltusUmbrae. |