0

このようなことをしてエラーを回避するにはどうすればよいcolumn common_reference is ambiguousですか? 私はそれが曖昧であることを知っています.table_oneからcommon_referenceのすべての結果を選択し、table_twoは同じものを選択したいと思います.

SELECT * FROM table_one, table_two WHERE common_reference = 42

これは明らかにうまくいかないので、サブクエリを使用して必要なことを達成するにはどうすればよいでしょうか?

4

4 に答える 4

0

SQL に解決できないあいまいさがある場合、MySQL はエラーを介して通知します。

別のテーブル (またはそれ自体を結合している場合は同じテーブル) にも存在する特定のフィールドを参照する場合は、完全修飾フィールドを使用します。

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

注意: Mchl が指摘したように、これらはデカルト積であり、典型的な結合ではありません。

于 2010-12-20T13:54:38.453 に答える
0

皮切りに...

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
于 2010-12-20T13:25:57.983 に答える
0
SELECT table_one.* FROM table_one, table_two WHERE table_one.common_reference = 42
于 2010-12-20T13:26:01.193 に答える
0

コメントでMchlが示唆したようUNIONに、解決策でした。

于 2011-01-05T15:40:52.407 に答える