同じ条件の複数のテーブルから選択して、あいまいさを避ける
-
11-10-2019 - |
質問
どうすればこのようなことをすることができますが、エラーを避けることができます column common_reference is ambiguous
?私はそれがあいまいであることを知っています、私はそこにcommon_referenceのすべての結果をtable_oneから選択したいと思います。
SELECT * FROM table_one, table_two WHERE common_reference = 42
これは明らかに機能しないので、サブ征服を使用して必要なものを達成するにはどうすればよいですか?
解決 4
コメントでMCHLが示唆しているように UNION
解決策でした。
他のヒント
皮切りに...
SELECT * FROM table_one, table_two WHERE table_one.common_reference = 42
...そしてこの道を続ける:
SELECT * FROM table_one as T1, table_two as T2 WHERE T1.common_reference = 42
SELECT table_one.* FROM table_one, table_two WHERE table_one.common_reference = 42
MySQLは、SQLに解決できないあいまいさがある場合、エラーを介してお知らせします。
別のテーブルにも存在する特定のフィールド(またはそれ自体で結合を行っている場合は同じテーブル)を参照する場合は、完全に資格のあるフィールドを使用します
SELECT * FROM table_one, table_two WHERE table_one.common_reference = 42
および/またはテーブルエイリアス
SELECT * FROM table_one T1a, table_one T1b WHERE T1a.common_reference = 42
NB:MCHLが指摘したように、これらは典型的な結合ではなく、デカルト製品です。
所属していません StackOverflow