我可以在单个连接中组合USING和ON吗?

时间:2016-05-05 13:36:34

标签: postgresql

我正在使用PostgreSQL 9.5。我希望在查询中具有USING的列合并功能,其中并非我用于连接的所有列都被命名为相同。例如:

SELECT
 *
FROM table_a a
 INNER JOIN table_b b USING(shared_id) AND a.foo = b.bar

上述代码不起作用。有什么我可以写的来获得这种效果吗?或者我需要ON a.shared_id = b.shared_id AND a.foo = b.bar

1 个答案:

答案 0 :(得分:3)

不能同时使用

http://www.postgresql.org/docs/9.5/static/queries-table-expressions.html

  

连接条件在ON或USING子句中指定,或者由单词NATURAL隐式指定。连接条件确定两个源表中的哪些行被认为是“匹配”,如下面详细解释的那样。

专注于或部分。 ON USING