从表中选择*,其中ID列表在另一个表上

时间:2011-02-22 13:06:46

标签: sql sql-server

use temp1
select * from [TZraw].[dbo].[A1]
where [TZraw].[dbo].[A1].[ID] in [select F1 from info1]

我正在尝试从TZraw表A1中选择匹配temp1表F1中每条记录的所有记录

6 个答案:

答案 0 :(得分:3)

尝试子查询的圆括号:

use temp1
select * from [TZraw].[dbo].[A1]
where [TZraw].[dbo].[A1].[ID] in (select F1 from info1)

答案 1 :(得分:3)

您需要IN子句的括号

select * from [TZraw].[dbo].[A1] 
    where [TZraw].[dbo].[A1].[ID] 
    in (select F1 from info1)

答案 2 :(得分:3)

使用括号:

select * from [TZraw].[dbo].[A1]
where [TZraw].[dbo].[A1].[ID] in (select F1 from info1)

而不是子选择上的方括号。

答案 3 :(得分:1)

在您的查询中尝试此操作

... in (select F1 from info1)

答案 4 :(得分:1)

您的SQL语法不正确 - 子查询应该是parens - (),而不是方括号[]

使用连接而不是子查询 - SQL更适合它:

SELECT first.* 
FROM [TZraw].[dbo].[A1] AS first
  INNER JOIN info1 AS second
    ON first.ID = second.F1

答案 5 :(得分:0)

尝试创建临时表

选择* 来自Tzrav ti 哪里...... ti ...<> t ...

REATE TEMPORARY TABLE SalesSummary( 选择* 从Temp1 t 哪里.... )