gpt4 book ai didi

mysql - 在 `as` - `INNER JOIN` 中使用 `ON` 列

转载 作者:行者123 更新时间:2023-11-29 22:20:14 24 4
gpt4 key购买 nike

我正在尝试使用由别名引用的计算列作为 JOIN 表达式。

这是查询;问题出在 idMem 上。

SELECT IF(c.memGet=$idMemOnline,c.memSend,c.memGet) as idMem
FROM chat c
LEFT JOIN members m
ON (m.id = idMem) // here the problem
WHERE (c.memSend=$idMemOnline || c.memGet=$idMemOnline) && c.isLast=true

有没有办法使用计算字段作为 JOIN 键?

最佳答案

不能在 ON 子句中使用别名。请改用 IF 函数:

SELECT IF(c.memGet=$idMemOnline,c.memSend,c.memGet) as idMem
FROM chat c
LEFT JOIN members m
ON (m.id = IF(c.memGet=$idMemOnline,c.memSend,c.memGet))
WHERE (c.memSend=$idMemOnline || c.memGet=$idMemOnline) && c.isLast=true

关于mysql - 在 `as` - `INNER JOIN` 中使用 `ON` 列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30805588/

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