SQL根据另一列中的记录在多个列中查找记录

时间:2013-01-17 16:20:35

标签: sql sql-server tsql

我在执行以下任务时遇到了麻烦。

我有一个显示BOM结构的视图 - viewBOMsApprRevisions:

PartNumL1 PartNumL2 PartNumL3 PartNumL4 PartNumL5

我有一个由选定的PartNum组成的表--17条记录,

我想要做的是列出存在PartNum(17条记录)的视图中的所有记录。

我知道如何使用单个记录

SELECT *
FROM viewBOMsApprRevisions 
WHERE '11614' in (PartNumL1,PartNumL2,PartNumL3, PartNumL4, PartNumL5)

但我无法弄清楚如何使用另一张表中的记录列表。

任何帮助都非常感激。

2 个答案:

答案 0 :(得分:0)

如果我了解您的要求,则需要基本的join。由于您没有提供表模式,因此这是一个通用示例:

SELECT        *
FROM          Table1
INNER JOIN    Table2 ON Table2.SomeKey = Table1.SomeKey
WHERE         '11614' IN(Table2.PartNumber)

答案 1 :(得分:0)

尝试这样的事情:

SELECT *
FROM viewBOMsApprRevisions 
WHERE EXISTS (SELECT * from Partnum 
              WHERE Partnum.Partnumber in (PartNumL1,PartNumL2,PartNumL3,
                                           PartNumL4, PartNumL5))