【发布时间】:2016-02-24 11:40:30
【问题描述】:
您好,我有一个问题,因为我被困在我拥有的一个 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 值时,结果不是我所期望的。
更新:实际上,我想为每个日期获取一行,并希望在一个日期的一行中获取所有“totetype”粉色、蓝色和黄色。而不是一个日期的 3 行。
所以结果是
|Date |Blue|Yellow|Pink|
------------------------------
|2016-02-16 |153 |27 |40 |
------------------------------
|2016-02-17 |152 |26 |40 |
【问题讨论】:
-
您的问题不清楚。您的查询生成一列,但您想要的结果有三列。
-
您使用的是哪个 DBMS?
-
MySQL 这就是为什么外部应用不起作用