【问题标题】:How to make joins in cases in mysql [duplicate]如何在mysql中的情况下进行连接[重复]
【发布时间】:2019-05-21 16:33:36
【问题描述】:

我正在尝试构建以下查询,我知道语法不正确但有人可以提出任何想法吗?/解决方案?

Thanks 

SELECT * FROM table 
LEFT JOIN x ON x.id = table.id 
CASE table.nid 
WHEN 1 THEN (LEFT JOIN tablea ON tablea.id = table.nid) 
WHEN 2 THEN (LEFT JOIN tableb ON tableb.id = table.nid) 
WHEN 3 THEN (LEFT JOIN tablec ON tablec.id = table.nid) 
END 
WHERE talbe.id = "hello";

【问题讨论】:

    标签: mysql


    【解决方案1】:

    我不确定这是最有效/最漂亮的方法,但你可以试试这个:

    SELECT CASE table.nid WHEN 1 THEN tablea.id WHEN 2 THEN tableb.id WHEN 3 THEN tablec.id end
    FROM table
    LEFT JOIN x ON x.id = table.id 
    LEFT JOIN tablea ON tablea.id = table.nid
    LEFT JOIN tableb ON tableb.id = table.nid
    LEFT JOIN tablec ON tablec.id = table.nid 
    WHERE talbe.id = "hello";
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-12-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-13
      • 1970-01-01
      • 2019-09-06
      • 1970-01-01
      相关资源
      最近更新 更多