查询问题数据库SQL#1066

时间:2013-12-10 13:12:20

标签: mysql sql

查询问题

SELECT B.branchId, B.city, S.staffId, firstname, surname, boatId
FROM Branch B, Staff S, BoatsForRent B
WHERE B.branchId = S.branchId AND S.staffId = B.staffId
ORDER BY B.branchId, S.staffId, boatId ;

我正在使用三张桌子: - -BoatsForRent -员工 分枝

我一直收到错误:

1066 - 不唯一的表/别名:'B'

我认为这是因为我有两张以B开头的桌子,但我不确定

感谢您的帮助

4 个答案:

答案 0 :(得分:0)

你有两张桌子ALIASED到B - Branch和BoatsForRent。你需要给他们一个独特的别名。

答案 1 :(得分:0)

当您编写分支B时,您正在为分支表选择别名B.同样适用于BoatsForRent B.只需将BoatsForRent BFR放入其中即可正常使用

答案 2 :(得分:0)

是的,因为您创建了2个具有相同名称的别名:

FROM Branch **B**, Staff S, BoatsForRent **B**

将其更改为:

FROM Branch Br, Staff S, BoatsForRent Bo

左右。 此外,您必须将所有B更改为查询其余部分中的相应别名

答案 3 :(得分:0)

您必须使用唯一的表别名。您不能使用相同的别名。

SELECT B.branchId, B.city, S.staffId, firstname, surname, boatId
FROM Branch B, Staff S, BoatsForRent BR
WHERE B.branchId = S.branchId AND S.staffId = BR.staffId
ORDER BY B.branchId, S.staffId, boatId ;