我想使用 IN 条件,它适用于该值,不适用于另一个表的变量,这是我的示例
SELECT A.*,B.*
FROM table1 AS A
LEFT JOIN erp_wh_salhd AS B ON B.InvNo = '15' AND A.InvNo IN (B.filter1)
//Not working Comming only one row for B table
如果我直接传递值意味着它有效,即
SELECT A.*,B.*
FROM table1 AS A
LEFT JOIN erp_wh_salhd AS B ON B.InvNo = '15' AND A.InvNo IN (2,3)
// Working. table B have two values
最佳答案
如果 erp_wh_salhd
中的 filter1
字段是逗号分隔的值列表,则需要使用 FIND_IN_SET
而不是 IN
:
SELECT A.*,B.*
FROM table1 AS A
LEFT JOIN erp_wh_salhd AS B ON B.InvNo = '15' AND FIND_IN_SET(A.InvNo, B.filter1)
关于mysql - 如何将 IN 条件与 LEFT OUTER JOIN 和 ON 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54860664/