2011-05-13 14 views
3

私はこのSQL SELECTクエリを発行

ID 
1 
2 
3 

のような一時テーブル内の値を持っていますが、私は一時テーブルからベース

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

今このstaementを与えているの値を選択する必要がある従業員テーブルから知っています私は唯一の1行の値実際にすべてのIDのためのデータが存在します

私は行っている文法に何か間違っている、plsは私に知らせる。

王子 thnkas

答えて

1

理由だけではなく、参加しませんか?

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

をそれとも、ただ2つのテーブルを結合することができます:

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

これを試してみてください。

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

あなたは従業員テーブルと一時テーブルに参加することになるでしょう:

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

これは、そのidを一時テーブルにある従業員だけを返す必要があります。