Kod
invoice
-buyer_id
-paid 0 - niezaplacone, 1 - zaplacone
companies
-id_companies
-buyer_id
-paid 0 - niezaplacone, 1 - zaplacone
companies
-id_companies
i zapytanie
SELECT invoices.buyer_id, invoices.companies_id, companies.id_companies FROM (invoices, companies) WHERE invoices.buyer_id = companies.id_companies AND ( MONTH(invoices.invoice_date) = '8' AND YEAR(invoices.invoice_date) = '2012' ) OR ( invoices.payment_date < '2012-8-01' AND invoices.paid = 0 ) AND invoices.companies_id = 1
i teraz tak
Jeżeli tylko 1 część jest zgodna to zwraca 2 rekordy z pominięciem ostatniego warunku
invoices.companies_id = 1
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
