2016-05-04 9 views
1

私はSQLを勉強し、このためのクエリを作成する使命を帯びてきた。SQL - すべての結合ステートメント?

すべて-write選択がNETWORK_ID USER_NAME =「金融」に基づいてuserDb.userとuserDb.advertiser上の声明に参加

をしかし、私はすべての共同声明を示唆する何かを見つけることができないので、私は何をすべきか混乱していますか?

これまでのところ、私の試みはうまくいきません!

SELECT userDB.user.network_id, 
     userDB.advertiser.network_id 
FROM userDB.user 
INNER JOIN userDB.advertiser ON userDB.user.network_id = userDB.advertiser.network_id 
WHERE network_id = user_name = 'finance' 

正しいコードと説明は何ですか?

+0

where句に何かがありません。 "WHERE network_id = user_name = 'finance';" –

答えて

3

あなたが探しているクエリは、このようなものです。

SELECT * 
FROM user AS u 
INNER JOIN advertiser AS a 
ON u.network_id = a.network_id 
WHERE u.user_name = 'finance' 

あなたはほぼそこにいました。私が行った変更は、テーブルエイリアス( 'u'と 'a')を使用して読み上げる価値があります。 where句にも演算子が多すぎます。

SELECT *は、私はすべての

は、あなたが上記のクエリのいずれかを理解していないと私は助けて幸せだろうなら、私を知ってみましょうSELECTでその意味を推測するものです。

+1

エイリアスなしでも可能ですか? – Speedychuck

+0

確かに、テーブル名を入力してください。私がこれをしたのは、userDBがデータベース名かスキーマ名かどうかわからないからです。いずれにしても、通常は必要ありません。命名規則はServerName.DatabaseName.SchemaName.TableNameですが、最後のもの、最後の2つ、または最後の3つまたはすべてを使用できます。 user.user_name = '金融' これは働いていたWHERE userDB.user INNER FROM –

+1

SELECT * はuser.network_id = advertiser.network_id ON userDB.advertiser を登録しよう。助けを応援、私は答えとしてマークします。 – Speedychuck

関連する問題