2011-11-10 38 views
18

tôi nhận được lỗi ERROR 1066 (42000): Not unique table/alias:Không độc đáo bảng/bí danh

tôi không thể tìm ra whats sai với nó.

SELECT Project_Assigned.ProjectID, Project_Title, Account.Account_ID, Username, Access_Type 
FROM Project_Assigned 
JOIN Account 
  ON Project_Assigned.AccountID = Account.Account_ID 
JOIN Project 
  ON Project_Assigned.ProjectID = Project.Project_ID 
where Access_Type = 'Client'; 
+0

Bạn nên đăng các lược đồ bảng. Bạn đang ném vào nhiều cột mà không có một tham chiếu đến bảng của họ, đó là OK nếu các cột là duy nhất. Tuy nhiên, tôi sẽ đề nghị bạn bắt đầu đặt tên cho các tên bảng, và luôn luôn tiền tố các cột với bí danh bảng khi bạn đang tham gia. Nghe có vẻ ngây thơ, nhưng bạn có chắc đây là truy vấn tạo ra lỗi đó không? Bạn đã cố chạy truy vấn trực tiếp vào bảng điều khiển mysql hoặc phpMyAdmin chưa? – Shef

+0

Tôi luôn luôn thực hiện truy vấn mysql trong terminal thông qua giao diện điều khiển mysql và tôi đã cố gắng sửa chữa nó đủ thời gian để biết đây là lỗi thực thi của nó. – Malcr001

Trả lời

17

Hãy thử

SELECT pa.ProjectID, p.Project_Title, a.Account_ID, a.Username, a.Access_Type, c.First_Name, c.Last_Name 
     FROM Project_Assigned pa 
INNER JOIN Account a 
     ON pa.AccountID = a.Account_ID 
INNER JOIN Project p 
     ON pa.ProjectID = p.Project_ID 
INNER JOIN Clients c 
     ON a.Account_ID = c.Account_ID 
    WHERE a.Access_Type = 'Client'; 
+0

Nó hoạt động. Cảm ơn ngài! – Malcr001

+0

@Shef - Bạn có thêm thông tin về lý do các bí danh bảng được yêu cầu trong truy vấn này không? Tôi đã không thể tái tạo thông báo lỗi ở đây với MySQL 5.0: -? –

+0

Điều cần lưu ý. Aparently Tôi đang sử dụng MySQL 5.5.9 – Malcr001

0
select persons.personsid,name,info.id,address 
    -> from persons 
    -> inner join persons on info.infoid = info.info.id; 
+0

Vui lòng xem [cách trả lời] (https://stackoverflow.com/help/how-to-answer) và cập nhật câu trả lời của bạn để cung cấp thêm chi tiết. Cụ thể, sẽ hữu ích nếu bạn giải thích cách giải quyết vấn đề này – Ortund