gpt4 book ai didi

MySQL 如果存在左外连接

转载 作者:行者123 更新时间:2023-11-29 09:43:47 24 4
gpt4 key购买 nike

我有一个这样的查询:

 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。

最佳答案

您需要将 WHERE 条件移至 ON 条件,因为它会删除 userprocess.id 可能为 的所有行NULL (在这种情况下,userprocess.userid 也将是 NULL,因此 WHERE 测试将失败)。然后,您可以根据 userprocess.id 是否为 NULL 向输出添加 bool 列:

 SELECT process.id, name, item, file, sort, userprocess.id, 
userprocess.id IS NOT NULL AS userprocess_exists
FROM `process`
LEFT OUTER JOIN userprocess ON userprocess.processid = process.id
AND userprocess.userid = 11

关于MySQL 如果存在左外连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56087165/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com