2013-12-10 48 views
0

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

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 ; 

所有帮助表示赞赏:)

+0

我不为什么,你首先使用别名明白了吗?只需使用完整的表名并将其删除 – nrathaus

+0

需要别名,因为列名具有相同的列。 – Schalk

回答

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 
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 ; 
0

尝试把一个 “S.propertyNo” 在您的ORDER BY

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 ;