2013-12-10 103 views
0

查询问题查询问题数据库SQL#1066

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开头的表格,但我不确定

感谢您的任何帮助

+0

其因为两个别名命名为 'B' – yashhy

回答

0

你有两个表别名B - 分支和BoatsForRent。你需要给他们一个独特的别名。

0

当您编写分支B时,您正在为表分支选择别名B.同为BoatsForRent B.只要把BoatsForRent BFR,它会工作好

+0

感谢它的工作:DDDDDDDDDDDDDDDDDDDDDDD – user3072131

0

是it's因为你创造了2别名具有相同名称:

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

将其更改为:

FROM Branch Br, Staff S, BoatsForRent Bo 

或者。 你也必须改变所有B到相应的别名在查询

0

,你必须使用独特的表alias.you不能使用相同的别名的其余部分。

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 ;