mysql条件查询 - 复杂

时间:2010-05-31 07:26:46

标签: mysql conditional distinct

我想获得一个字段的不同值,比方说:field1 ... 这需要一个类似的查询:“从表中选择distinct(field1)”

但是对于某些记录,field1为空,而另一列是field1的替代,即field2。对于field1为空的记录,我需要使用field2的值。我想我需要一种条件选择语句,如果控制如下:

 select distinct( (if(field1!='') field1 else field2) ) from table

我不知道如何写它。任何帮助表示赞赏...

3 个答案:

答案 0 :(得分:2)

SELECT DISTINCT IFNULL(field1,field2)FROM table

应该做的伎俩。

答案 1 :(得分:1)

SELECT DISTINCT (
 IF( coalesce(field1,'') <> '', field1, field2)
)
FROM table

这适用于null和空field1

答案 2 :(得分:0)

我想我做到了(不确定结果是否正确):

SELECT DISTINCT (
 IF( field1 <> '', field1, field2)
)
FROM table