2016-07-31 52 views
0
之间选择顺序

我有一个表,如下所示: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

听起来简单,但我只是不得到它的工作...

+0

'SELECT'语句中的''IF'可能重复 - 根据列值选择输出值](http://stackoverflow.com/questions/5951157/if-in-select-statement-choose-output-value基于列的值) – Foon

回答

1

您可以使用coalesce()

order by coalesce(id2, id) 
0

select * from table_name order by id,id2

+0

嘿,当id2不为空时id应该被忽略 - 然后按顺序排列 –