に参加以内に使用してOracleに次の操作を実行する方法はあります:標準SQLでははONミキシング、もう1つは
SELECT *
FROM Tbl1
JOIN Tbl2
USING (col1)
AND ON Tbl1.col2 = Tbl2.col3
に参加以内に使用してOracleに次の操作を実行する方法はあります:標準SQLでははONミキシング、もう1つは
SELECT *
FROM Tbl1
JOIN Tbl2
USING (col1)
AND ON Tbl1.col2 = Tbl2.col3
は、あなたが使用することができますいずれかを使用またはON両方ではありません。両方を使用できる場合は、例とANDを省略します。
PMVがコメント(より正確に、尋ねた - また、ポスターの答えを参照してください):
私の問題は、私はすべての結合が使用して、テーブルの束を持っています。異なるキー名を持つテーブルを追加しようとすると、あいまいな列エラーが発生します。私のすべての結合をON結合に変換せずにこれを行うには、優雅な方法がありますか?
まあ、悲しいことmisnamed列によって課さ損傷を制限するための最良の方法は、おそらくある(そしておおよそ - 私は、以下のSQLをデバッグしていませんでした):
SELECT *
FROM (SELECT *
FROM Tbl1
JOIN Tbl2 USING (col1, col2, col3, col4)
JOIN Tbl3 USING (col2, col4, col6, col23)
JOIN Tbl4 USING (col2, col8, col3, col23)
) AS SystematicNaming
JOIN Tbl5
ON SystematicNaming.Col1 = Tbl5.Col1
AND SystematicNaming.ColA = Tbl5.PoorlyNamedColA
AND SystematicNaming.ColB = Tbl5.PoorlyNamedColB
これは便利かつ体系を維持しますTbl5との結合に必要とされる非一様な列名が与えられた場合に管理する必要がある方法でTbl5との結合を管理しながら、できるだけ長く表記法を使用する。
私はそれが合理的だとは思うけど、それは最高のクエリレイアウトだとは分かりません。
SELECT * FROM TBL1 JOIN TBL2 ON TBL1.COL1 = TBL2.COL1 AND TBL1.COL2 = TBL2.COL3
よろしく K
SELECT *
FROM Tbl1
INNER JOIN Tbl2
ON Tbl1.col1 = Tbl2.col1
AND Tbl1.col2 = Tbl2.col3
私の問題は、私は、すべての結合が使用して、テーブルの束を持っています。異なるキー名を持つテーブルを追加しようとすると、あいまいな列エラーが発生します。すべてのジョインをONジョインに変換せずにこれを行うには、優雅な方法がありますか? –