【发布时间】:2017-12-22 17:05:49
【问题描述】:
SELECT Table1.Filter, Table1.Condition, Combined.Data FROM Table1
LEFT JOIN
(SELECT Key, Data FROM IF(Table1.Filter, Table2, Table3))) AS Combined
ON Table1.Condition = Combined.Key
我想创建一个 MySQL 视图,显示Table1 的所有列,以及来自Table2 或Table3 的列,具体取决于Table1.Filter 上的字段。
一个简单的解决方案是LEFT JOINTable2 和Table3,NULL 在不适用的列上。有没有办法避免创建 2 列?
我不能UNION Table2 和Table3 因为它们可能包含相同的Key。
【问题讨论】: