![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 437 Pomógł: 42 Dołączył: 16.04.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
mam taką tabelę: clients id name surname oraz tabela clients_address id ulica nr_budynku nr_lokalu kod_pocztowy miasto typ id_klienta są to relacje jeden do wielu (jeden klient może mieć wiele adresów - zameldowania / zamieszkania / korespondencji) chciałbym znaleźć wszystkich klientów co mieszkają w Warszawie Niby prosta sprawa, tylko że początek zapytania jest narzucony: SELECT * FROM `clients` powinno być left join `clients_addres` tylko jak zrobić, żeby to było szybkie i optymalne. Może być dziesiątki tysięcy klientów i adresów. |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 4 291 Pomógł: 829 Dołączył: 14.02.2009 Skąd: łódź Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
Szybciej chyba jednak by bylo jakbys robił zapytanie z drugiej strony.
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 437 Pomógł: 42 Dołączył: 16.04.2007 Ostrzeżenie: (0%) ![]() ![]() |
Turson, to Twoje zapytanie to znam - ale bezsensu jest. Bo jak np mam 10tyś klientów, a 500 z nich ma 3 adresy a reszta po 1, to zwróci mi 11.500 rekordów - zakłamane.
Pyton_000, niby tak, ale to wyszukiwanie jest opcjonalne. W tabeli klienci mam jeszcze kilka pól po których wyszukuje. Np status, wiek itp. Poza tym mam jeszcze jedną tabele - clients_works - czyli miejsca w których pracują klienci. I np będę potrzebować stworzyć zapytanie typu: Klienci w wieku 28-30, którzy mają status aktywny, mieszkają w Warszawie i są barmanami. Jak to wtedy widzisz? |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
Hmm...
Do tego co Turson podał dodaj Group BY user_id |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 18.07.2025 - 12:00 |