嗨,我有一个问题,因为我被困在我的一个SQL查询 . 我写了这个sql查询:
SELECT DISTINCT Date(createddate) as Date,
(SELECT maxage FROM wob_stock_age
WHERE (maxage = a.maxage) AND (totetype='B')
GROUP BY Date)AS Blue,
(SELECT maxage FROM wob_stock_age
WHERE (maxage = a.maxage) AND (totetype='V')
GROUP BY Date)AS Yellow,
(SELECT maxage FROM wob_stock_age
WHERE (maxage = a.maxage) AND (totetype='N')
GROUP BY Date)AS Pink
FROM wob_stock_age as a
如您所见,我在不同的别名下多次选择同一列 . 然而,结果并不是我所期望的,因为我得到Null值 .
UPDATED: 实际上我想为每个日期获得一行,并希望在一行中获得所有"totetype" PINK,BLUE和YELLOW . 而不是一个日期的3行 .
结果就是
|Date |Blue|Yellow|Pink|
------------------------------
|2016-02-16 |153 |27 |40 |
------------------------------
|2016-02-17 |152 |26 |40 |
2 回答
您可以使用条件聚合执行此操作 . 你的问题不清楚,但我对你要做的最好的猜测是:
使用
OUTER APPLY