2012-04-30 43 views
2

我這個星期準備我的考試,我看到這樣一個過去的論文的問題:加入了查詢

講師

lec_id 
lec_name 
phone 
dept 

請求

lec_id 
book_id 
qty 
date 

book_id 
title 
author 
cost 
supplier 

我需要寫一個MySQL命令,將找到的姓名和電話號碼,每個講師的請求書編號123

我試圖創建查詢,如下圖所示:

SELECT lec_name, phone FROm lecturer 
    LEFT JOIN requests ON requests.lec_id = lecturer.lec_id 
    LEFT JOIN requests ON requests.book_id = book.book_id 
WHERE book.book_id = 123 

不過,我不斷收到錯誤不是唯一的表/別名: '請求'

回答

0

最好從所以WHERE子句是清潔的,也許更直觀地適合於尋找另一個特定的書和/或所有書籍開始:

select book.book_id, book.title, lecturer.lec_name, lecturer.phone 
from book 
left join requests on book.book_id = requests.book_id 
left join Lecturer on requests.lec_id = Lecturer.lec_id 
where book.book_id = 123 
0
SELECT lec_name, phone FROm lecturer 
    LEFT JOIN requests ON requests.lec_id = lecturer.lec_id 
    AND requests.book_id = book.book_id 
WHERE book.book_id = 123