2

以下に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" の場合、mhs を mahasiswa テーブルに結合したい場合、"isLevel=2" の場合、mhs を dosen テーブルに結合したい... クエリはどのように記述すればよいですか?

私を助けてください。ありがとう。

4

2 に答える 2

1

条件付きで参加することはできません。ただし、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
于 2013-09-30T09:55:11.793 に答える