sql根据值不同关联不同的表
时间: 2024-05-25 15:18:31 浏览: 119
可以使用条件语句来根据值不同关联不同的表。例如:
SELECT *
FROM
(SELECT id, 'table1' AS source_table FROM table1
UNION ALL
SELECT id, 'table2' AS source_table FROM table2
UNION ALL
SELECT id, 'table3' AS source_table FROM table3) AS all_tables
WHERE source_table =
CASE
WHEN value = 'A' THEN 'table1'
WHEN value = 'B' THEN 'table2'
WHEN value = 'C' THEN 'table3'
END;
在上述查询中,使用了 UNION ALL 将三个表的数据合并成一个结果集,并添加了一个额外的列 source_table 来标识每条记录来自哪个表。然后,使用 CASE 语句根据 value 的值来选择对应的表,最后使用 WHERE 子句来过滤结果集,只保留关联的表。
阅读全文