2013-12-10 3 views
0

Запрос Issue:базы данных SQL Query Error Issue # 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 ; 

Error # 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 ;