java mysql from后根据某个查询出来的属性判断关联不同的表
时间: 2023-08-02 16:06:51 浏览: 60
SQL根据表中某列队值选择关联不同的表
你可以使用 MySQL 的 CASE WHEN 语句来实现根据查询出来的属性判断关联不同的表。具体实现方法如下:
```
SELECT *
FROM table1
LEFT JOIN
(CASE
WHEN column1 = 'value1' THEN table2
WHEN column1 = 'value2' THEN table3
ELSE table4
END)
ON table1.id = table2.id
OR table1.id = table3.id
OR table1.id = table4.id
```
上面的 SQL 查询语句中,根据 column1 的值来判断关联哪个表。当 column1 的值为 'value1' 时,关联 table2 表;当 column1 的值为 'value2' 时,关联 table3 表;其他情况则关联 table4 表。
需要注意的是,这里使用了左连接(LEFT JOIN)和 OR 连接符来将 table1 表和三个关联表连接起来。如果需要根据不同的属性值关联不同的表,可以在 CASE WHEN 语句中添加更多的分支判断条件。
阅读全文