我知道如何在连接条件中执行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
的情况下添加连接条件。 最佳答案
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, s.group_id)
关于mysql - SQL-如何在JOIN条件下执行IF/ELSE,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26612003/