sql选择查询问题

时间:2011-05-13 15:05:42

标签: sql-server

我在像这样的临时表中有一个值

ID
1
2
3

但是从员工表知道我需要根据临时表

选择值
declare  @mStrvalue as varchar(100)
select   @mStrvalue =IDS from Temp_ID
select * from employee where employee.emp_ID= @mStrvalue 

现在这个版本只给我一行值,实际上所有ID都有数据

我的语法有什么不对,请告诉我。

thnkas 王子

3 个答案:

答案 0 :(得分:4)

试试这个:

select * from employee where employee.emp_ID in (select IDS from Temp_ID);

或者你可以加入这两张桌子。

select *
  from employee inner join Temp_ID on employee.id = Temp_ID.IDS;

答案 1 :(得分:1)

为什么不加入?

SELECT 
   *
FROM employee 
   INNER JOIN Temp_ID ON employee.emp_ID = Temp_ID.ID

答案 2 :(得分:0)

您需要将临时表与employee表一起加入:

    select e.*
      from employee e
inner join Temp_ID t on e.emp_id = t.ids

这应该只返回id在临时表中的员工。