mysql from后根据某个查询出来的属性判断关联不同的表
时间: 2023-08-04 10:06:37 浏览: 38
可以使用MySQL的CASE语句来根据查询出来的属性值判断关联不同的表,示例如下:
```
SELECT *
FROM table1
LEFT JOIN
(CASE
WHEN column1 = 'value1' THEN table2
WHEN column1 = 'value2' THEN table3
ELSE table4
END) ON table1.column2 = table2.column2 OR table1.column2 = table3.column2 OR table1.column2 = table4.column2
```
在这个查询中,通过使用CASE语句来根据column1的值判断关联不同的表。如果column1的值为'value1',则关联table2;如果column1的值为'value2',则关联table3;否则关联table4。在使用LEFT JOIN关联时,需要将每个表的column2与table1的column2进行关联,以保证关联的正确性。
相关问题
java mysql from后根据某个查询出来的属性判断关联不同的表
你可以使用 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 语句中添加更多的分支判断条件。
mysql根据条件判断查询不同表
你可以使用 MySQL 中的 IF 函数来根据条件查询不同的表。下面是一个示例:
```
SELECT *
FROM IF(condition, table1, table2);
```
其中,`condition` 是你的判断条件,如果条件成立则查询 `table1`,否则查询 `table2`。
例如,如果你要根据用户的性别查询不同的表,可以使用以下查询语句:
```
SELECT *
FROM IF(gender = 'male', male_users, female_users);
```
这将根据 `gender` 列的值来查询 `male_users` 表或 `female_users` 表。请注意,`male_users` 和 `female_users` 表必须在数据库中存在。