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

时间:2013-12-10 12:42:44

标签: mysql sql database

查询问题:

SELECT B.branchNo, B.city, S.staffNo, fName, lName, propertyNo
FROM Branch B, Staff S, PropertyForRent P
WHERE B.branchNo = S.branchNo AND S.staffNo = P.staffNo
ORDER BY B.branchNo, S.staffNo, propertyNo ;

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

我对此使用了类似的查询并且它们有效,但这个问题没有。

我也尝试过:

SELECT B.branchNo, B.city, S.staffNo, S.fName, S.lName, S.propertyNo
FROM Branch B, Staff S, PropertyForRent P
WHERE B.branchNo = S.branchNo AND S.staffNo = P.staffNo
ORDER BY B.branchNo, S.staffNo, propertyNo ;

赞赏所有帮助:)

3 个答案:

答案 0 :(得分:0)

显然它应该工作或者我错过了一些东西,但它很奇怪。试试这个:

SELECT B.branchNo, B.city, S.staffNo, fName, lName, propertyNo
FROM Branch B 
JOIN Staff S 
ON B.branchNo = S.branchNo 
JOIN PropertyForRent P
ON S.staffNo = P.staffNo
ORDER BY B.branchNo, S.staffNo, propertyNo

答案 1 :(得分:0)

SELECT B.branchNo, 
       B.city, 
       S.staffNo, 
       S.fName, 
       S.lName, 
       S.propertyNo

FROM Branch B
Join Staff S
On   B.branchNo = S.branchNo

Join PropertyForRent P
On   S.staffNo = P.staffNo

ORDER BY B.branchNo, S.staffNo, S.propertyNo ;

答案 2 :(得分:0)

尝试在您的ORDER BY中添加“S.propertyNo”:

SELECT B.branchNo, B.city, S.staffNo, S.fName, S.lName, S.propertyNo
FROM Branch B, Staff S, PropertyForRent P
WHERE B.branchNo = S.branchNo AND S.staffNo = P.staffNo
ORDER BY B.branchNo, S.staffNo, S.propertyNo ;