我希望通过连接显示来自三个表的数据,但它不起作用。
我有三个表:linktable
,friends
和carbrands
。
列是friendnumer,lastname和carbrands。
表链接表必须显示:column friendnumber。
表朋友必须显示:列姓氏
和表carbrands必须显示列品牌。
我的sql是:
SELECT friendnumber,lastname, brand
From linktable,
friends,
carbrands
WHERE linktable.friendnumber = friends.lastname
and friends.lastname = carbrands.brand ;
出了什么问题?
有人可以帮助我吗?
提前感谢。
答案 0 :(得分:0)
你的问题是缺乏信息。您的架构究竟是如何定义的?
我们假设您有以下表格:
friends:
+----+---------------+
| id | name |
+----+---------------+
| 1 | alice |
| 2 | bob |
| 3 | carol |
+----+---------------+
carbrands:
+----+---------------+
| id | brandname |
+----+---------------+
| 1 | Škoda |
| 2 | Volkswagen |
| 3 | Ferrari |
+----+---------------+
linktable:
+----------+---------+
| friendid | brandid |
+----------+---------+
| 1 | 3 |
| 2 | 2 |
| 2 | 1 |
+----------+---------+
然后,您可以使用以下声明选择每位朋友的姓名和他们驾驶的汽车:
SELECT friends.name, carbrands.brandname
FROM friends
JOIN linktable
ON friends.id = linktable.friendid
JOIN carbrands
ON linktable.brandid = carbrands.id;
这将为您提供三行:
Alive驾驶斯柯达。 鲍勃驾驶大众汽车和法拉利。