2016-06-30 27 views
-3

私はMySQLで問題があります。MySQL select * from table1、table2 'test'

SELECT table1.column1, test.column2 
FROM table1,table2 AS test 
INNER JOIN table3 ON table3.column3 = table1.column1 
WHERE test.column2 = table1.column1 

私はこのエラーを取得する:

Unknown column 'table1.column1' in 'on clause'

+0

確かにそのカラム1は存在しますか?もしもこのために 'as'を使うのであれば、 –

+0

はSELECT table1.column1、test.column2 FROM table1、table2 test、table3 WHERE table3.column3 = table1.column1 AND test.column2 = table1.column1'を試してみるのを助けるかもしれません。 2つの可能性があり、 'INNER JOIN'や' FROM 'にテーブルをリストした後、 'WHERE'節でそれらを結合している古いメソッドを使って、それらの間のすべてのテーブルを結合します。私はあなたがデータベースの構造の詳細を提供してください(理想的にはsqlfiddleを使用してください) – Hearner

+0

を混在させることができないか分かりません。それ以外の場合は、ここで決定的な答えを出すことはできません。 –

答えて

0

あなたからいくつかのテーブルを使用する場合)(使用する必要があります。

from (table1,table2)

+0

これは真実ではなく、関連性もありません。 質問をした人がデータベース構造の詳細を私たちに提供していないので、table1.column1が実際に存在するかどうかわかりません。 –

+0

これは次のように働いています: –

+0

@ hayal.etはい、私は解決策に焦点を当てて、あなたのエイリアスを忘れました – nospor

0

あなたのクエリは、単に同じよう変更することができます以下:

Select t1.column1, test.column2 
from table1 as t1 
join table2 as test on test.column2 = t1.column1 
join table3 as t3 on t3.column3 = t1.column1 
ここ

T1、テスト、T3テーブルを結合するための2つの方法があり

+0

ユーザーがこれが機能するかどうかを知る方法はありません。 –

2

テーブルエイリアスである:

をインナーそのキーを使用するすべてのテーブルにJOIN使用:

SELECT table1.column1,test.column2 
FROM table1 
INNER JOIN table2 test 
    ON table1.column1=test.column2 
INNER JOIN table3 
    ON test.column2=table3.column3 

が第二ものですFROM句のすべてのテーブルをリストし、次にWHERE句でそれらをリンクする古いもの:

SELECT table1.column1,test.column2 
FROM table1,table2 test, table3 
WHERE table3.column3=table1.column1 AND test.column2=table1.column1 
関連する問題