下面是mysql查询。但它不起作用。

SELECT  CASE
        WHEN isLevel = '1' THEN 'Mahasiswa'
        WHEN isLevel = '2' THEN 'Dosen'
        WHEN isLevel = '3' THEN 'Karyawan'
        ELSE 'Admin'
        END as level
FROM mhs LEFT JOIN if(isLevel=1,'mahasiswa','dosen') ON username=iduser
WHERE blabala.

如果“isLevel=1”我想用mahasiswa表连接mhs,如果“isLevel=2”用dosen表连接mhs。。。我应该如何编写查询?
请帮帮我。
谢谢。

最佳答案

你不能有条件地加入。但是使用2个左连接得到两个表

Select  CASE
    WHEN isLevel = '1' THEN 'Mahasiswa'
    WHEN isLevel = '2' THEN 'Dosen'
    WHEN isLevel = '3' THEN 'Karyawan'
ELSE 'Admin'
END as level
from mhs
left join mahasiswa m on m.username=iduser
left join dosen d on d.username=iduser

10-07 16:21