【发布时间】:2012-12-13 18:23:17
【问题描述】:
我有一个返回正确结果的查询,除了一些值...不知道为什么。 我正在使用 Chinook 数据库。
SELECT SUM(unitPrice)
FROM invoiceLine
WHERE invoiceId = 5
这将返回 13,86。
SELECT invoiceId, total
FROM invoice
WHERE invoiceId = 5
这也返回 13,86。现在考虑下一个查询:
SELECT invoiceId, total
FROM invoice
WHERE total = (SELECT SUM(unitPrice)
FROM invoiceLine
WHERE invoiceId = 5)
这会返回......什么都没有! 当我更改为 invoiceId = 1 时,我确实得到了与该金额匹配的所有结果。
为什么? (我知道最后一个查询没有多大意义,只是为了清楚地展示问题。
【问题讨论】: