![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 4 340 Pomógł: 542 Dołączył: 15.01.2006 Skąd: Olsztyn/Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Wiam, mam takie 2 tabele
Kod invoice -buyer_id -paid 0 - niezaplacone, 1 - zaplacone companies -id_companies i zapytanie
i teraz tak Jeżeli tylko 1 część jest zgodna to zwraca 2 rekordy z pominięciem ostatniego warunku
Jeżęli w bazie są rekordy zgodne z drugim nawiasem to zapytanie zwraca mi tyle rekordów ile jest w tabeli companies. Co tu jest nie tak (IMG:style_emoticons/default/questionmark.gif) |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
skoro tylko to jest prawdziwe: OR ( invoices.payment_date < '2012-8-01' AND invoices.paid = 0 ) AND invoices.companies_id = 1 to tracisz łączenie: invoices.buyer_id = companies.id_companies A jeśli tracisz łączenie, to wyświetlasz wszystkie dane ze wszystkich tabel w iloczynie kartezjańskim. A że określiłeś, warunek na pierwszą tabelą invoices.companies_id = 1 wiec iloczyn kartezjanski ogranicza się do wszystkick rekordów z tabeli drugiej + spełaniających warunek z tabeli pierwszej (IMG:style_emoticons/default/smile.gif) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 4.10.2025 - 00:47 |