如何强制 mysql 在查询中显示架构名称和列名称?

How to force mysql to show schema name along with column names in a query?

我需要加入 3 个 tables,它们有一些同名的列,比如 id 和一些外键列。

我进行了 select 查询,结果仅包含 table 个姓名。如何在我的查询中获得像 "dbname"."columnname" 这样的结果,这样我就可以确定每个列来自哪个 table 而不必指定查询中的每个列(仅使用 *)?

注意:我将 Delphi 与 ZeosLib 一起使用,因此使用这些工具的解决方案也可以。但我更喜欢在数据库中设置它。

您必须在查询中为您的字段名称创建一个别名

 SELECT a.ID, b.ID
 FROM a
 JOIN b

对于带有特殊字符的字段名称,您需要doblue quote ",因此将其更改为。

 SELECT a.ID "a.ID", b.ID "b.ID"

 SELECT a.ID "MeaningfullName", b.ID "OtherName"

例如这里我有两个字段名称 "sent_dt" 并将其中一个更改为 previous_time

SQL Fiddle Demo