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
。它会返回所有列而没有表名。只有当使用USING
子句时,才不会出现重复列,因为USING
子句默认使用相等条件进行连接。问题详情应该更加精确。 - Pinke Helga