这似乎是一个简单的设置,但我找不到它。我对具有相似列名的表进行内部联接查询。将表名包含在查询结果中会很好,因此接收数据的人员可以更轻松地区分。例如:
表1: ID 名称 时间戳
表2: ID 名称 时间戳记 table1_id
表3: ID 名称 时间戳记 table2_id
然后我将其与查询绑定在一起
select * from table1
inner join table2 on table1.id=table2.table1_id
inner join on table2.id=table3.table2_id;
结果具有相似的列标题名称:
id名称时间戳id名称时间戳表1_id id名称时间戳表2_id
很难区分数据。当然,示例查询简短而愚蠢且毫无意义。如果我对所有数据进行实际查询,它将变得更加复杂。列标题名称不能包含表名称吗?
table1.id table1.name table1.timestamp table2.id table2.name table2.timestamp table2.table1_id table3.id table3.name table3.timestamp table3.table2_id
答案 0 :(得分:1)
代替写作
select * from
您可以写
select table1.id as table1_id,
对其他列进行相同操作,以便结果集将为您显示各列的名称
答案 1 :(得分:1)
输出中的列名不明确:table1.id, table2.id
为列添加别名应解决此问题:
SELECT table1.id as t1_id, table2.id as t2_id
答案 2 :(得分:1)
您可以使用别名来标识列:
SELECT table1.id AS table1_id FROM ...
但是您必须对要选择的每个字段执行此操作。
答案 3 :(得分:-1)
尝试这个。希望对您有帮助。
SELECT table1.id as t1_id, table2.table1_id as t2_id
FROM tablename
inner join table2 on table1.id=table2.table1_id
inner join table3 on table2.id=table3.table2_id;