列值的Mysql Left Join Condition开头为

时间:2019-03-18 11:12:39

标签: mysql conditional left-join

根据列Type中的值以哪个字符开头,我试图将两个不同的表连接起来。

例如:
如果列type的值以's'开头=>左联接表a
如果列type的值以'g'开头=>左联接表b

如何创建此条件?

2 个答案:

答案 0 :(得分:3)

您可以通过在ON子句中应用条件来尝试以下操作

select * from tablename x
left join tableA y on x.id=y.id and x.type like 's%'
left join tableB z on x.id=z.id and x.type like 'g%'

答案 1 :(得分:1)

您可以使用以下解决方案:

SELECT *
FROM table_name t 
    LEFT JOIN A ON LEFT(t.type, 1) = 's' AND t.id = A.tid
    LEFT JOIN B ON LEFT(t.type, 1) = 'g' AND t.id = B.tid

demo on dbfiddle.uk