使用一个查询的输出作为另一个查询的WHERE子句 - SQL Server 2008

时间:2013-10-17 11:32:49

标签: sql sql-server-2008

鉴于我有一个带有fileNames字段的表(tblFiles),我需要使用从该表返回的每个DISTINCT文件名作为另一个查询的WHERE子句中的OR。动态设置它的最佳方法是什么?我的所有代码都在VBA中,但如果可能的话,我希望能够在SQL中运行所有这些查询逻辑。

因此,第一个查询只会从表中提取fileNames字段:

SELECT fileName FROM tblFiles GROUP BY fileNames;

下一个查询将是:

SELECT dateMade, invenNum, shipDate
FROM tblOrders
WHERE fileName = fileName1 
   OR fileName2 
   OR fileName3 (... the output from the first query)

1 个答案:

答案 0 :(得分:2)

您如何看待这个:

SELECT * FROM tblFilms 
WHERE tblFilms.Filename IN (SELECT DISTINCT fileNames FROM tblFiles);