我有一个带有type字段的表。
如何在查询中检查此字段:
我想检查一下,如果type == 'a‘
然后bes=amount,bed = '-‘
否则bed=amount,bes = '-‘
bes和bed并不真正存在于我的表中,但数量是(int)
这是我的尝试:
SELECT billing.*,
    CASE billing.type WHEN 'A' THEN billing.amount AS bes, '-' AS bed ELSE billing.amount AS bed, '-' AS bes END
    FROM billing..。我的搜索没有用
任何解决方案...
发布于 2013-03-11 21:32:06
您可以为每一行创建条件,MySQL支持内联IF语句。
SELECT billing.*,
       IF(billing.type = 'A', billing.amount, '-') AS bes,
       IF(billing.type = 'A', '-', billing.amount) AS bed
FROM   billing发布于 2013-03-11 21:30:08
为此,您需要两个case语句:
SELECT billing.*,
  CASE billing.type WHEN 'A' THEN billing.amount ELSE '-' AS bes END,
  CASE billing.type WHEN 'A' THEN '-' ELSE billing.amount AS bed END
FROM billing发布于 2013-03-11 21:29:33
一个CASE-WHEN-THEN-ELSE只能有一个返回值...
这应该能起到作用:
SELECT billing.*,
CASE billing.type WHEN 'A' THEN billing.amount ELSE '-' END AS bes,
CASE billing.type WHEN 'A' THEN '-' ELSE billing.amount END AS bed 
FROM billinghttps://stackoverflow.com/questions/15339788
复制相似问题