如何从所有选定的表中选择一列?喜欢(抛出错误):
SELECT *.id FROM table1, table2, table3, table4
我不会这样做,因为有很多表,他们会改变:
SELECT table1.id, table2.id, table3.id, table4.id FROM table1, table2, table3, table4
只有id,所以这也没用:
SELECT * FROM table1, table2, table3, table4
有一个很好的解决方案吗?
招呼
答案 0 :(得分:4)
为什么不使用UNION
,如下所示:
SELECT id FROM table1
UNION
SELECT id FROM table2
UNION
SELECT id FROM table3
UNION
SELECT id FROM table4
答案 1 :(得分:0)
使用像表这样的别名和前缀名称为列名
的别名示例:TableName别名
然后使用Table1 t1
中的select t1.columnname SELECT t1.id, t2.id, t3.id, t4.id FROM table1 t1, table2 t2, table3 t3, table4 t4
答案 2 :(得分:0)
非常好的解决方案,更不容易出错且更灵活的是按照您希望的顺序写下要获取的所有列:
SELECT
t1.id as t1_id,
t2.id as t2_id,
t3.id as t3_id,
t4.id as t4_id
FROM
table1 t1, table2 t2, table3 t3, table4 t4
;
你想做CROSS JOIN吗?
<强>优势:强> 你有每列的差异名称/参考