MYSQL:如何在select查询中使其成为虚拟列?
以下是我的问题,任何人都知道如何解决这个问题: 查询示例:MYSQL:如何在select查询中使其成为虚拟列?,mysql,Mysql,以下是我的问题,任何人都知道如何解决这个问题: 查询示例: SELECT id, table2.id as global_id, table3.id as global_id FROM table1 LEFT JOIN table2 ON ( table1.id = table2.tab1_id ) LEFT JOIN table3 ON ( table1.id = table3.tab1_id ) WHERE etc etc 基本上,我不想在select语句和某些行中写入
SELECT id, table2.id as global_id, table3.id as global_id
FROM table1
LEFT JOIN table2
ON ( table1.id = table2.tab1_id )
LEFT JOIN table3
ON ( table1.id = table3.tab1_id )
WHERE etc etc
基本上,我不想在select语句和某些行中写入两次“global_id”列
你能在这里写下工作查询吗。如何获取全局_id列中所有行的id值
谢谢使用
合并
:
SELECT table1.id, COALESCE(table2.id, table3.id) as global_id
FROM table1
LEFT JOIN table2
ON ( table1.id = table2.tab1_id )
LEFT JOIN table3
ON ( table1.id = table3.tab1_id )
WHERE etc etc
我猜你需要这个:
SELECT id, table2.id as global_id
FROM table1
LEFT JOIN table2
ON ( table1.id = table2.tab1_id )
WHERE etc etc
UNION ALL
SELECT id, table3.id as global_id
FROM table1
LEFT JOIN table3
ON ( table1.id = table3.tab1_id )
WHERE etc etc
使用
选择。。。UNION…
您的意思是我必须使用UNION ALL编写每个查询?不,但这不是解决方案,对不起,不清楚你想要什么,请澄清问题