【发布时间】:2013-12-16 01:52:54
【问题描述】:
我有一个无法回答的问题。
找出 5 月和 6 月之间发票数量和发票产品总数的差异。
一种方法是使用子查询:一个用于六月,另一个用于五月,然后将两个查询的结果相减。由于两个子查询中的每一个都将返回一行,因此您可以(应该)使用 CROSS JOIN,它不需要“on”子句,因为您连接了一个表中的“所有”行(即子查询)到另一行的所有行。 要查找某个日期的月份,您可以使用 MONTH 功能。
这是欧文文档
这是我到目前为止所得到的。我不知道在这种情况下如何使用 CROSS JOIN
select COUNT(*) TotalInv, SUM(ILP.ProductCount) TotalInvoicedProducts
from Invoice I, (select Count(distinct ProductId) ProductCount from InvoiceLine) AS ILP
where MONTH(inv_date) = 5
select COUNT(*) TotalInv, SUM(ILP.ProductCount) TotalInvoicedProducts
from Invoice I, (select Count(distinct ProductId) ProductCount from InvoiceLine) AS ILP
where MONTH(inv_date) = 6
如果你们能帮忙就太好了。
谢谢
【问题讨论】:
-
您使用的是哪个 DBMS?甲骨文? Postgres?
标签: sql join subquery cross-join erwin