【发布时间】:2017-01-22 21:54:45
【问题描述】:
我得到两个选择查询的 UNION,其中一个被查询的表是一个临时表,以确保输出记录(因此临时表具有每个日期的预期输出,但默认值为 0销售专栏
示例输出结果如下所示:
ProductID | Product Desc | TransactionDate | Sale
1011021 | SD DOG | 2017-01-07 | 0
1011021 | SD DOG | 2017-01-07 | $17
1011021 | SD DOG | 2017-01-14 | 0
1011021 | SD DOG | 2017-01-14 | $15
1011021 | SD DOG | 2017-01-21 | $21
1011021 | SD DOG | 2017-01-28 | 0
1011021 | SD DOG | 2017-01-28 | $21
Union 根据行删除重复项,如何使其根据 productID 和 transactionDate 列删除重复项,删除 Sale 为 0 的重复项?
--在下面查询
SELECT transactionProducts.productID, products.productDesc, sum(salePrice) as Sale, transactionDate
FROM products LEFT JOIN transactionProducts on products.productID = transactionProducts.productID
LEFT JOIN transactions ON transactionProducts.transactionID = transactions.transactionID
LEFT JOIN productCategory on productCategory.productID = products.productID
LEFT JOIN categories on categories.categoryID = productCategory.categoryID
WHERE (transactionProducts.productID='123' AND transactions.transactionDate='2017-01-12'
Group by transactionProducts.productID, transactionDate
UNION select * from "temptable" group by productID, productDesc, Sale, transactionDate
ORDER BY transactionDate
【问题讨论】:
-
如果
Sale的值都为零,或者两者都不为零,会发生什么情况?
标签: sql sql-server sql-server-2008 azure-sql-database