MySQL如果存在左外连接

时间:2019-05-11 04:22:51

标签: mysql

我有这样的查询:

 SELECT process.id, name, item, file, sort, userprocess.id 
 FROM `process` 
 left outer join userprocess ON userprocess.processid = process.id 
 WHERE userprocess.userid = 11

我想做的是添加一个额外的bool列,如果userprocess.id不为null,则将其设置为true,如果null为userid 11,则将其设置为false ...什么是最佳方法? ?

我在处理中有两行,在用户处理中有一行,但是此查询仅返回1行。我希望它返回2行,其中一行为true,另一行为false。

1 个答案:

答案 0 :(得分:1)

您需要将WHERE条件移至ON条件,因为它将删除userprocess.id可能为NULL的任何行(在这种情况下,{{1} }也将是userprocess.userid,因此NULL测试将失败)。然后,您可以根据WHERE是否为NULL将布尔列添加到输出中:

userprocess.id