php - MySQL查询: How to join multiple table with statment

标签 php mysql sql

我有下面的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表连接,...我应该如何编写查询?

请帮助我。 谢谢。

最佳答案

您无法有条件地加入。但使用 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

关于php - MySQL查询: How to join multiple table with statment,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19091216/

相关文章:

php - 尝试执行 youtube 分析 API 时获取 'Forbidden error'

php - Wordpress 本地克隆无法正常工作

javascript - 从 ajax 调用返回 html 并格式化它

java - 将 MySQL Server 数据库导出到文件

sql - LINQ to SQL - 对 SELECT 语句使用 TransactionScope - 是否需要调用 Complete()?

php - 如何用引号将 '+' 或 '-' 的字符串括起来?

php - 惯用查询获取今天的记录

mysql - 计算日期间隔之间的行数

mysql - 从 MYSQL 子查询中删除

java - 使用 StringBuffer 构建更高效的 SQL 插入