我有一个表,如下所示:SQL ORDER BY - 由价值两列
id id2 name
--------------------
4 NULL A
3 2 B
5 NULL C
1 6 D
现在我想ORDER BY ID DESC(这是没有问题的)
但是: WHEN ID2 IST NOT NULL 的ID2值应在订货时使用 代替ID值
听起来简单,但我只是不得到它的工作...
我有一个表,如下所示:SQL ORDER BY - 由价值两列
id id2 name
--------------------
4 NULL A
3 2 B
5 NULL C
1 6 D
现在我想ORDER BY ID DESC(这是没有问题的)
但是: WHEN ID2 IST NOT NULL 的ID2值应在订货时使用 代替ID值
听起来简单,但我只是不得到它的工作...
您可以使用coalesce()
:
order by coalesce(id2, id)
select * from table_name order by id,id2
。
嘿,当id2不为空时id应该被忽略 - 然后按顺序排列 –
'SELECT'语句中的''IF'可能重复 - 根据列值选择输出值](http://stackoverflow.com/questions/5951157/if-in-select-statement-choose-output-value基于列的值) – Foon