是否可以简化此 UNION 以避免合并查询的近乎冗余?如此处所示,这两个查询是相似的。他们只是加入 table2 中的不同列。我在同一个查询中使用 Union 而不是 Inner Joining 2x 的原因是,由于这个查询被用作子查询,结果必须在 1 列中。
SELECT t1.id as id
FROM table1 g
INNER JOIN table2 t1 on g.t_id = t1.id
WHERE g.id=1
UNION
SELECT t2.id as id2
FROM table1 g
INNER JOIN table2 t2 on g.t2_id = t2.id
WHERE g.id=1