我知道如何在连接条件中执行 IF/ELSE,但是有没有办法可以基于 ELSE 对字段进行不同的评估?
SELECT o.id, s.id
FROM orders o
RIGHT JOIN subjects s ON s.name = 'Blah'
AND s.group_id = IF(o.service = 'Law Services', 2, ????)
在上面,我不知道在 中该放什么???
我想说的是(伪代码):
IF o.service = 'Law Services'
JOIN subjects s ON s.name = 'Blah' AND s.group_id = 2
ELSE
JOIN subjects s ON s.name = 'Blah'
基本上我只想在 s.group_id = 2
时添加 JOIN 条件。
最佳答案
您可以编写不带 if
的条件:
SELECT o.id, s.id
FROM orders o RIGHT JOIN
subjects s
ON s.name = 'Blah' AND
(o.service <> 'Law Services' or s.group_id = 2);
关于mysql - SQL - 如何在 JOIN 条件中执行 IF/ELSE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26612003/