0

私はSQLデータベースの初心者で、そのようなJOINを使用して列を取得するためにいくつかのテーブルで遊んでいます。

次のようなテーブルがあります

A - id, A1
B - id, B1, B2, B3
C - id, C1, C2, c3


AB - id, A_id, B_id 

AC - id, A_id, C_id

今、いくつかの結合を行いたいのですが、次のような結果を得たいと思っています。

B1, B2, B3, C1, C2, C3

とはいえ、同じタイプの質問をいくつか見ましたが、理解できませんでした。ですから、答えを簡単に詳しく説明していただければ幸いです。ありがとう

4

1 に答える 1

2
SELECT B1, B2, B3, C1, C2, C3
FROM A
INNER JOIN AB ON A.id = AB.A_id
INNER JOIN B ON B.id = AB.B_id
INNER JOIN AC ON A.id=AC.A_id
INNER JOIN C ON C.id = AC.C_ID

編集:

テーブル内の列が同じ名前の場合 (たとえば、列 B.column1 と列 C.column1 がある場合)、次のようにします。

SELECT B.column1, B.B1, B.B2, B.B3, C.column1, C.C1, C.C2, C.C3
FROM A
INNER JOIN AB ON A.id = AB.A_id
INNER JOIN B ON B.id = AB.B_id
INNER JOIN AC ON A.id=AC.A_id
INNER JOIN C ON C.id = AC.C_ID

編集2:長いテーブル名の場合、次のことができます:

SELECT b.B1, b.B2, b.B3, c.C1, c.C2, c.C3
FROM A_LONG_NAME a
INNER JOIN AB ON a.id = AB.A_id
INNER JOIN B_LONG_NAME b ON b.id = AB.B_id
INNER JOIN AC ON a.id=AC.A_id
INNER JOIN C_LONG_TABLE_NAME c ON c.id = AC.C_ID
于 2013-03-08T13:02:22.380 に答える