比如如下语句
SELECT *
FROM tabA
INNER JOIN tabB ON tabA.id = tabB.id AND IF(tabA.status = 'OK',tabA.status = tabB.status_ok,tabA.status = tabB.status_not_ok)
类似于以上逻辑,要在AND的时候判断条件关联不同字段,代码可行吗
我测试过了好像可以用,有点不放心求证实
SELECT *
FROM tabA
INNER JOIN tabB ON tabA.id = tabB.id AND IF(tabA.status = 'OK',tabA.status = tabB.status_ok,tabA.status = tabB.status_not_ok)
类似于以上逻辑,要在AND的时候判断条件关联不同字段,代码可行吗
我测试过了好像可以用,有点不放心求证实
SELECT *
FROM tabA
INNER JOIN tabB ON tabA.id = tabB.id and tabA.status = tabB.status_ok and tabA.status = tabB.status_not_ok where tabA.status = 'OK'
FROM tabA
INNER JOIN tabB ON tabA.id = tabB.id AND ((tabA.status = 'OK' and tabA.status = tabB.status_ok) or (tabA.status != 'OK' and tabA.status = tabB.status_not_ok) )