0

ですから、私が推測していることは非常に単純な問題であることに苦労しています。私は少し調べましたが、これまでに見つけた解決策のどれも私の問題にうまくいきませんでした。

SELECT arrangement_ID, hva, dato 
FROM tt_arrangement LEFT JOIN (tt_vaktliste_vakt)
ON (tt_arrangement.arrangement_ID = tt_vaktliste_vakt.arrangement_ID)

列'arrangement_ID'がtt_arrangementとtt_vaktliste_vaktの両方に存在するため、これは当然「あいまいなエラー」を生成します。これは簡単に修正できると思い、次の変更を加えました。

SELECT **arrangement_ID.tt_arrangement**, hva, dato 
FROM tt_arrangement LEFT JOIN (tt_vaktliste_vakt)
ON (tt_arrangement.arrangement_ID = tt_vaktliste_vakt.arrangement_ID)

ただし、これにより「列が存在しません」というエラーが発生しました。そして、それは私が立ち往生しているところです。重要かどうかはわかりませんが、SELECT *を使用すると、クエリは意図したとおりに機能します。それは、私がクエリを使用する目的のオプションではありませんが。

事前に、返信ありがとうございます。

4

2 に答える 2

3

あいまいな列名の前にテーブル名を付けます。

SELECT t_arrangement.arrangement_ID, hva, dato  
FROM tt_arrangement LEFT JOIN (tt_vaktliste_vakt) 
ON (tt_arrangement.arrangement_ID = tt_vaktliste_vakt.arrangement_ID) 

(hva、datoは一意の列名であると想定しています)

(エイリアスを使用することもできますが、あいまいな列名の前にエイリアスを付ける必要があります)

于 2010-11-28T12:29:11.660 に答える
1

以下のように、テーブル名にエイリアスを付ける必要があります。

SELECT a.arrangement_ID, a.hva, a.dato 
FROM tt_arrangement  AS a
LEFT JOIN tt_vaktliste_vakt AS v
ON (a.arrangement_ID = v.arrangement_ID)

テーブルの構造がわからないため、どの列がどこから来ているのかわからないため、一番上の行が正しいかどうかはわかりません。

これがお役に立てば幸いです。

于 2010-11-28T12:30:35.237 に答える