2017-10-23 28 views
0

私は現在SQLで悩んでいます。私は次の列を持つ2つのテーブルを持っています:外部キーからSQLの値を取得する

table "A": columns "_id", "B_id" and "type" 
table "B": columns "_id", "x", "y", "z" 

"_id"は行IDです。 "B_id"はテーブルBの行( "_id")に対する外部キーです。

テーブルAの各行のすべての "タイプ"値を、関連付けられたx、y、z値と共に取得したいと思いますテーブルB

に私がして、テーブルAのすべての行を取得することができます:

SELECT type FROM A 

現在、私は問題もこれが行うことができますどのようにB.からに従ってX、Y及びZを取得する必要がありますか?

+2

あなたの質問には使用しているデータベースでタグを付けますが、あなたの質問に対する答えは 'JOIN'を使うことです。 –

+1

私は 'JOIN'をお勧めします。 – jarlh

答えて

0

SELECT A.type, B.x, B.y, B.z FROM A, B where A.B_id=B._id

以上の近代的で必要な行がジョイン構文を追加します。

+0

古代の暗黙的な結合を教えてはいけません...代わりに現代的で明示的な 'JOIN'構文に切り替えてください。 (エラーなしで)書きやすく、読みやすく(維持しやすい)、必要に応じて外部結合に変換する方が簡単です。 – jarlh

+0

Thx、jarlh。答えにJOINを追加しました。 – Peter

2

これにより、必要に応じて参加が可能になります。

SELECT A.type, B.x, B.y, B.z FROM A JOIN B ON A.B_id=B._id

これはMySQL用ですが、他のRDBMSで動作するはずです:それからちょうどあなたが

SELECT * 

FROM A 
JOIN b 
on A.B_ID = B._id 
関連する問題