这是示例“销售”数据表
这里是想要输出的Result Set
下面是一个不需要的结果集的例子,它会从此 SQL 语句生成。
SELECT Vendor, SUM(Markdown), SUM(Regular), SUM(Promotion), SUM(Returned)
FROM sales
GROUP BY Vendor, Date
有没有办法只通过SQL得到想要的结果集?
我们在 IBM iSeries 上运行 SQL DB2 数据库。
我确实意识到这是一种非常奇怪的尝试方式...我们只是想找到一种方法来根据需要取回结果集,而无需通过代码对结果进行任何手动转换。
最佳答案
你需要使用UNION
语句
尝试,
SELECT Vendor, 'Markdown' as Type, SUM(Markdown) as Amount
FROM sales
GROUP BY Vendor, Date
UNION
SELECT Vendor, 'Regular' as Type, SUM(Regular) as Amount
FROM sales
GROUP BY Vendor, Date
UNION
SELECT Vendor, 'Promotion' as Type, SUM(Promotion) as Amount
FROM sales
GROUP BY Vendor, Date
UNION
SELECT Vendor, 'Returned' as Type, SUM(Returned) as Amount
FROM sales
GROUP BY Vendor, Date
关于重新格式化结果的 SQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14615283/