2013-08-18 3 views
0

Мне нужно запросить emp_id из таблицы empmtg на emp_mtg = '141' вместе с именем в таблице пользователя, которое мне нужно получить в том же запросе.Confused with Output запроса

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

Это необходимо, чтобы выбрать EmpID из empmtg таблицы и имени из таблицы пользователей при условии, что MTG идентификатор в таблице empmtg должен быть 141. Есть только 5 записей в этой таблице с MTG ид как 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 записей, но имена все нуль. я проверил в таблице пользователей, что имена не нулевой

У меня есть один ответ выбрать внутри выбрать, который я думаю, это не правильный способ сделать. но я не хотел бы запрашивать таким образом. но это дало результат, как ожидалось.

Может ли кто-нибудь помочь мне для лучшего решения.

+0

вы пробовали с INNER JOIN? –

+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 и все. все правильно. помощь в логике –