2013-08-18 61 views
0

我必須從empmtg表emp_mtg ='141'along查詢emp_id,並在用戶表中查找我需要的相同查詢中的名稱。與查詢輸出相混淆

SELECT emp.emp_id,mast.name 
FROM empmtg emp,users mast 
WHERE emp.emp_mtg='141'; 

這需要的條件,從用戶表中選擇從empmtg表名EMPID,在empmtg表MTG ID應該是141,只有5條記錄在表MTG id作爲141,但我我正在獲得大約1000個數據。

我也試過,但只生產3個記錄輸出

SELECT emp.emp_id,mast.name 
FROM empmtg emp,users mast 
WHERE emp.emp_mtg='141' and emp.emp_id=mast.id 

然後我去加入

SELECT emp.emp_id,mast.name 
FROM empmtg emp 
LEFT JOIN users mast 
ON emp.emp_id=mast.id 
WHERE emp.emp_mtg='141'; 

這是生產的5條輸出,但名稱均爲空。我在user表檢查這些名稱不爲空

我有一個答案選擇內選擇我認爲這是不這樣做的正確方法。但我不喜歡以這種方式進行查詢。但是這產生了預期的結果。

任何人都可以幫助我找到更好的解決方案。

+0

你有內嘗試加入? –

+0

是的。它甚至沒有返回一行 –

+0

你可以用子查詢顯示這個工作查詢嗎? –

回答

2
SELECT emp.emp_id,mast.name 
FROM empmtg emp 
left JOIN users mast 
ON emp.emp_id=mast.id 
WHERE emp.emp_mtg = 141; 

這裏working demo

+0

而複製粘貼我做了一些小錯誤。但它只是正確的查詢。不要檢查fr拼寫錯誤和所有。一切都是正確的。幫助邏輯 –