0

我必须从 emp_mtg='141' 上的 empmtg 表中查询 emp_id 以及我需要在同一查询中获取的用户表中的名称。

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

这需要从 empmtg 表中选择 empid 并从 users 表中选择名称,条件是 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 条记录的输出,但名称均为空。我在用户表中检查了名称不为空

我在选择中有一个答案 选择,我认为这不是正确的做法。但我不喜欢这样查询。但这产生了预期的结果。

谁能帮我找到更好的解决方案。

4

1 回答 1

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;

这是一个工作演示

于 2013-08-18T10:52:15.690 回答