我需要加入3个表,这些表有一些同名的列,比如 id 和一些外键列。
我进行了一个select查询,结果仅包含表名。如何在我的查询中获得像“dbname”。“columnname”这样的结果,这样我就可以识别每个列的哪个表而不必指定查询中的每一列(仅使用*)?
注意:我将Delphi与ZeosLib一起使用,因此使用这些工具的解决方案也可以。但我更喜欢在数据库中设置它。
答案 0 :(得分:-1)
您必须在查询中为字段名称创建别名
SELECT a.ID, b.ID
FROM a
JOIN b
对于带有特殊字符的字段名称,您需要使用doblue引用"
,因此请将其更改为。
SELECT a.ID "a.ID", b.ID "b.ID"
OR
SELECT a.ID "MeaningfullName", b.ID "OtherName"
例如,我在这里有两个名称为"sent_dt"
的字段,并将其中一个更改为previous_time
<强> SQL Fiddle Demo 强>