5

エイリアスを使用するときにあいまいな列参照を解決する方法がわかりません。

a2つのテーブルを想像してみてください。b両方に、name列があります。nameこれらの2つのテーブルを結合して結果のエイリアスを作成すると、両方のテーブルの列を参照する方法がわかりません。いくつかのバリエーションを試しましたが、どれも機能しません。

試行1

SELECT a.name, b.name
FROM (a INNER JOIN b ON a.id = b.id) AS x

これは機能せずab範囲外です。

試行2

SELECT x.a.name, x.b.name
FROM (a INNER JOIN b ON a.id = b.id) AS x

SQL構文はそのようには機能しません。

試行3

SELECT x.name, x.name
FROM (a INNER JOIN b ON a.id = b.id) AS x

それは単純に曖昧です!

私はすべてアイデアがありません-どんな助けでも大歓迎です。

4

1 に答える 1

10

(a INNER JOIN b ON a.id = b.id)完全なクエリではないため、括弧で囲まないでください。

SELECT  a.name AS A_Name, 
        b.name AS B_Name
FROM    a INNER JOIN b 
           ON a.id = b.id

または(仮定)テーブル名が長く、短くしたい場合は、

SELECT  a.name AS A_Name, 
        b.name AS B_Name
FROM    longTableNameA a 
        INNER JOIN longTableNameB b 
           ON a.id = b.id
于 2012-10-21T23:55:26.533 に答える