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 回答