condition选择db2的查询

时间:2013-09-10 09:19:52

标签: sql db2 conditional

假设有一个包含2列的表和以下数据:

ID : 1,2,3,4,5,6,7,8
DATA:a,a,a,a,a,a,a,b

只有一行DATA = b,多行DATA = a。

我需要一个只会选择一行的查询。如果有任何行有DATA = b,那么我们将选择那个,如果没有DATA = b的行,那么它将选择DATA = a的第一行。

请帮助!!!!

1 个答案:

答案 0 :(得分:1)

SELECT * 
FROM  table
WHERE DATA in ('A', 'B')
ORDER BY CASE WHEN DATA= 'B' THEN 0 ELSE 1 END, ID
FETCH FIRST 1 ROWS ONLY