MySQL 关联不同表:根据主表字段值动态选择关联表
MySQL 关联不同表:根据主表字段值动态选择关联表
您可以使用 MySQL 的条件语句 (CASE WHEN) 来实现根据主表某个字段的值去关联不同的表。下面是一个示例:
SELECT
main_table.id,
main_table.field1,
main_table.field2,
CASE
WHEN main_table.field3 = 'value1' THEN table1.field
WHEN main_table.field3 = 'value2' THEN table2.field
ELSE table3.field
END AS related_field
FROM
main_table
LEFT JOIN table1 ON main_table.id = table1.id
LEFT JOIN table2 ON main_table.id = table2.id
LEFT JOIN table3 ON main_table.id = table3.id;
在上述示例中,main_table 是主表,table1、table2 和 table3 是根据不同条件关联的表。通过使用 CASE 语句,根据 main_table 的 field3 字段的值,选择关联不同的表,并将关联表的 field 字段作为 related_field 返回。
请根据实际需求修改表名、字段名和条件。
原文地址: https://www.cveoy.top/t/topic/o5lW 著作权归作者所有。请勿转载和采集!