SELECT p.INVOICE_PAYMENT_ID,i.INVOICE_ID,i.INVOICE_NUMBER,i.CLINIC_ID,
i.INVOICE_DATE,i.PAYMENT_RECEIVED_DATE, i.AMOUNT,
i.CURRENT_CHARGE,i.AMOUNT_RECEIVED,i.MONTH,i.YEAR,i.COMPANY_ID,
i.COMPANY_NAME,c.NAME,p.NOTE,i.NOTES
FROM test1 i
LEFT JOIN test2 c ON (i.CLINIC_ID=c.CLINIC_ID)
LEFT JOIN test3 p ON p.INVOICE_ID=i.INVOICE_ID
WHERE i.MONTH=11 AND i.YEAR=2011
AND p.INVOICE_PAYMENT_ID IN (
SELECT MAX(INVOICE_PAYMENT_ID)
FROM test3 WHERE INVOICE_ID=i.INVOICE_ID
)
如果內部查詢沒有值,則它不會返回test3
中的所有對應行。查詢不會返回所有預期的行
我該如何解決這個問題?
如果內查詢有沒有價值則不是'test3'任何相應的行。你期望發生什麼? – ean5533 2012-02-24 12:53:29
@ jinesh確實,你期望什麼? (我假設內部查詢是'max')。 – 2012-02-24 12:55:19