Gahh ..令我沮丧。教科书要求我们重写下面的语句而不使用共同相关的子查询。Co-Related SubQuery
SELECT DISTINCT V.VENDOR_NAME, I.INVOICE_NUMBER, I.INVOICE_DATE, I.INVOICE_TOTAL
FROM VENDORS V
JOIN INVOICES I
ON V.VENDOR_ID = I.VENDOR_ID
WHERE I.INVOICE_DATE IN
(SELECT MIN(INVOICE_DATE) FROM INVOICES IV WHERE IV.VENDOR_ID = V.VENDOR_ID)
AND I.INVOICE_NUMBER IN
(SELECT MIN(INVOICE_NUMBER) FROM INVOICES IV WHERE IV.VENDOR_ID = V.VENDOR_ID)
ORDER BY V.VENDOR_NAME
我该怎么做?我想不出反正它重新写无子查询:S
有点奇怪的查询,如果'INVOICE_DATE'和'INVOICE_NUMBER'不是它们的同一发票的最小值,它根本不会显示任何结果。 – 2013-02-20 17:49:23
我想知道为什么教科书对此查询有DISTINCT。这有点代码味道,他们没有在涉及的表格上设置正确的唯一性约束,或者没有仔细检查。 – 2013-02-21 03:28:21