【发布时间】:2019-03-07 00:59:24
【问题描述】:
MySQL 版本 10 (MariaDB)。 PHP 5.6.3 libmysql 5.1.73
我与 Oracle 合作已经有一段时间了,但我隐约记得 Oracle 完全按照我在这个示例中的预期做了。我可能弄错了,或者 MySQL 只是没有做同样的事情......这个例子是为这个问题创建的,所以如果你看到语法问题,它与此有关。
假设这样一个简单的模式:
Table COUNTRY
ID
NM
Table PROVINCE
ID
NM
CTID
我希望这个查询:
SELECT * FROM PROVINCE P JOIN COUNTRY C ON C.ID = P.CTID
会产生以下输出:
P.ID | P.NM | P.CTID | C.ID | C.NM
不幸的是,输出没有表别名,并且所选表中的联接表中的列从结果中丢失(结果中只有一个 ID 列)。像这样:
ID | NM | CTID
有没有办法获得上面显示的别名输出?或者是否有其他方法可以获取结果中的所有五列而无需在查询中明确使用P.ID as P_ID 之类的东西?
【问题讨论】:
-
我无法使用
ON子句通过您给定的查询重现ID | NM | CTID。它生成没有表名的 all 列。仅当应用USING原因时,没有重复的列,因为USING开箱即用地加入相等性。问题细节应该更准确。
标签: mysql column-alias