我创建了一个查询,用以下代码构造一个表:
SELECT Date,
SUM(CASE WHEN UniqueId = 'NonComLong' THEN Value ELSE NULL END) AS 'NonComLong',
SUM(CASE WHEN UniqueId = 'NonComShort' THEN Value ELSE NULL END) AS 'NonComShort',
SUM(CASE WHEN UniqueId = 'NonComNetLong' THEN Value ELSE NULL END) AS 'NonComNetLong',
SUM(CASE WHEN UniqueId = 'NonComPos' THEN Value ELSE NULL END) AS 'NonComPos',
SUM(CASE WHEN UniqueId = 'TotalPositions' THEN Value ELSE NULL END) AS 'TotalPositions',
SUM(CASE WHEN UniqueId = 'NonComPosShare' THEN Value ELSE NULL END) AS 'NonComPosShare'
FROM fundamental_data WHERE AttributeId = 160 AND Date >= '2011-06-14'
GROUP BY Date
ORDER BY Date;
上面的代码返回下表:
表的图像
我想写一篇文章,如果除date列以外的所有列都返回null,我可以跳过一行。有可能吗?
提前谢谢!
1条答案
按热度按时间cig3rfwq1#
假设那一列
value
不是null
如果可以,您可以将另一个条件添加到WHERE
确保聚合函数中至少满足一个条件的子句:如果
value
可能是null
,您只需添加另一个条件: