MySQL在字段中指定条件的结果

时间:2018-01-17 16:44:54

标签: mysql

我想在结果表中添加字段,具体取决于条件TRUEFALSE

第一张表:

A {
   AId,
   Name
}

第二张表:

B {
   BId,
   AId1,
   AId2
}

我希望获得结果:

Result {
   AId,
   Name,
   SomeCondition
}

如果TRUE ANY

中有B项,则SomeCondition为(A.id == AId1 OR A.id == AId2)

我想这就像:

SELECT 
Id,
Name,
ANY (SELECT * FROM B WHERE A.AId = B.AId1 OR A.AId = B.AId2) AS SomeCondition
FROM A;

1 个答案:

答案 0 :(得分:1)

使用CASE声明:

SELECT 
Id,
Name,
CASE WHEN 
  (SELECT COUNT(*) FROM B WHERE A.AId = B.AId1 OR A.AId = B.AId2) > 0 THEN 1
  ELSE 0 END AS SomeCondition
FROM A;

您可以使用1和0表示TRUE / FALSE,或者如果您愿意,可以使用字符串文字。