如果某个字段为空,我需要添加具有默认值的行。
想象一下下面的select子句:
SELECT date, id, name, COALESCE(value1, -1), COALESCE(value2, -1),
COALESCE(value3, -1)
FROM (SELECT DATE("startDate" + INTERVAL(seq_ref.seq - 1) MONTH) AS month_ref
FROM (SELECT seq FROM seq_1_to_36) seq_ref, table) table
WHERE...
以及以下数据集:
date id name value1 value2 value3
2016-01-01 1 TEST LEFT 12 14 22
2016-01-01 1 TEST RIGHT 32 11 74
2016-02-01 1 null -1 -1 -1
2016-03-01 1 TEST LEFT 09 66 33
2016-03-01 1 TEST RIGHT 13 41 20
基本上它会返回一些日期范围内的数据。但如果某些月份没有数据,则返回-1作为值。如果没有数据,我需要知道是否有方法添加两行id和name的默认值。
例如:on 2016-02-01
我应该可以为你排长队 TEST LEFT
值为-1,并且 TEST RIGHT
值为-1。
编辑:结果应该是
date id name value1 value2 value3
2016-01-01 1 TEST LEFT 12 14 22
2016-01-01 1 TEST RIGHT 32 11 74
2016-02-01 1 TEST LEFT -1 -1 -1
2016-02-01 1 TEST RIGHT -1 -1 -1
2016-03-01 1 TEST LEFT 09 66 33
2016-03-01 1 TEST RIGHT 13 41 20
有可能吗?
1条答案
按热度按时间5lhxktic1#
可以使用ifnull()函数。它的工作原理是这样的:ifnull(expression,value),它检查expression是否为null,如果为null,它将用value参数替换它,您可以执行以下操作:
希望这有帮助