【发布时间】:2012-02-16 19:59:41
【问题描述】:
查看了一些类似的帖子,但他们都有一个共同的 ID,而这些都没有,所以我希望你能帮助我。
我想要实现的是:
QTR1 | QTR2 | SUM(Sales) | SUM(Sales2)
1 2 9 8
1 3 9 7
1 4 9 6
2 1 8 9
2 3 8 7
以此类推,所有值一共得到 12 个结果(每个季度与其他三个季度进行比较。qtr1 和 qtr2 只是为了区分列)。我目前只能做四分之一的产品...
SELECT d1.quarter 'qtr1' , a.quarter 'qtr2'
FROM datedim d1, datedim a
WHERE a.quarter <> d1.quarter
GROUP BY a.quarter, d1.quarter;
但是当我从收益表中添加季度 SUM(earnings) 的总和时,查询挂起并且永远不会完成。收入表通过代理键连接到包含季度的日期表,因此理想情况下它必须是
FROM datedim, earningsfact
为了获取这两种数据类型并汇总销售额。
【问题讨论】:
-
不明白目前QTR1和QTR2是什么意思,为什么要12个结果?
-
您能否说明您的预期结果应该是什么样子?您似乎正在尝试在您的桌子上进行笛卡尔自联接。那么,“QTR1”列并不意味着 datedim.quarter = 1,对吗?
标签: sql comparison