2016-05-05 7 views
0

Ich benutze PostgreSQL 9.5. Ich hätte gerne die Spaltenverschmelzungsfunktionalität von USING in einer Abfrage, bei der nicht alle Spalten, die ich für den Join verwende, gleich benannt sind. Zum Beispiel:Kann ich USING und ON in einem einzigen Join kombinieren?

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

Der obige Code funktioniert nicht. Kann ich etwas schreiben, um diesen Effekt zu erzielen? Oder muss ich ON a.shared_id = b.shared_id AND a.foo = b.bar tun?

+1

Versuchen Sie, das 'AND' in ein' WHERE' zu ändern. – amphetamachine

Antwort

2

Sie CAN nicht beide

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

verwenden Die Join-Bedingung in der ON angegeben oder Klausel, oder implizit durch das Wort NATURAL. Die Join-Bedingung bestimmt, welche Zeilen aus den beiden Quellentabellen als "übereinstimmend" betrachtet werden, wie nachstehend im Detail erläutert wird.

Fokus auf den oder Teil. ONoderUSING

Verwandte Themen