MySQL的条件查询 - 复杂
我想获得不同值的字段,让说:字段1 ... 这需要像一个查询:“从表中选择不同的(字段1)”MySQL的条件查询 - 复杂
但是对于某些记录, field1是空的,并且有另一个字段是field1的替代字段,它是field2。对于field1为空的记录,我需要使用field2的值。我想我需要一个有条件的选择语句与如果控制类似的东西:
select distinct((if(field1!='') field1 else field2)) from table
我不知道如何编写它。任何帮助表示赞赏...
SELECT DISTINCT (
IF(coalesce(field1,'') <> '', field1, field2)
)
FROM table
这两个空和空field1
工作。
谢谢!有用。 – emre 2010-06-01 13:59:11
SELECT DISTINCT IFNULL(FIELD1,FIELD2)FROM表
应该做的伎俩。
您的解决方案返回64结果,而我的查询下面返回74!?!我分析结果以查看差异,并在稍后发布我的评论。 – emre 2010-05-31 07:45:01
我想我做到了(不知道结果是正确的):
SELECT DISTINCT (
IF(field1 <> '', field1, field2)
)
FROM table
NULL值和空字符串不一样。也许这解释了差异? – 2010-05-31 07:55:55
也许不是那么复杂:) – emre 2010-05-31 07:39:52