2016-05-05 20 views
0

私はPostgreSQL 9.5を使用しています。私はUSINGの列のマージ機能を持っていますが、私が結合に使用しているすべての列に同じ名前が付けられていないクエリにしたいと思います。例:USINGとONを1回の結合で組み合わせることはできますか?

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

「AND」を「WHERE」に変更してみてください。 – amphetamachine

答えて

2

あなたはは両方

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

参加条件は言葉NATURALによって暗黙的にONに指定するか、またはUSING句、またはさを使用することはできません。結合条件は、以下で詳細に説明するように、2つのソース表からどの行が「一致する」とみなされるかを決定します。

この部分に注目してください。 ONまたはUSING

関連する問題