如何在mysql中进行cases连接

vqlkdk9b  于 2021-06-15  发布在  Mysql
关注(0)|答案(1)|浏览(387)

这个问题在这里已经有答案了

mysql中的条件连接(3个答案)
去年关门了。
我正在尝试构造以下查询,我知道语法不正确,但是有人能提出任何想法吗?/解决方案?

  1. Thanks
  2. SELECT * FROM table
  3. LEFT JOIN x ON x.id = table.id
  4. CASE table.nid
  5. WHEN 1 THEN (LEFT JOIN tablea ON tablea.id = table.nid)
  6. WHEN 2 THEN (LEFT JOIN tableb ON tableb.id = table.nid)
  7. WHEN 3 THEN (LEFT JOIN tablec ON tablec.id = table.nid)
  8. END
  9. WHERE talbe.id = "hello";
n6lpvg4x

n6lpvg4x1#

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

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

相关问题