如何在sql的第三个表的帮助下合并两个表?

时间:2013-03-08 12:59:02

标签: sql sqlanywhere

我是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

尽管如此,我看到了一些相同类型的问题,我无法理解。因此,如果简单解释答案将非常感激。感谢

1 个答案:

答案 0 :(得分: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.column 1和列C.column 1),请执行以下操作:

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