我在IBM Power上的DB2上使用SQL。我有一个声明,它从多个CTE中抽取相同的数据,然后通过几个字段输入。但问题是,当两者都有空值时,我怎么能说'如果这是空的,那么这个其他字段的顺序是相同的'?我觉得这是不可能的,但我想我会问。我试图在每一行中添加多个结果,这样我就可以节省性能,在一个语句中获取静态信息。两张图片都是相同的结果。
对不起,我必须阻止一些数据,但我希望它有所帮助。
答案 0 :(得分:1)
select *
from mytable
order by coalesce(thisField, otherfield);
测试
SELECT * FROM CMW1
ORDER BY FLD1
结果
FLD1 FLD2
ABC ABC
- TEST
- ABC
使用合并
SELECT * FROM CMW1
ORDER BY coalesce(FLD1,fld2)
结果
FLD1 FLD2
ABC ABC
- ABC
- TEST