SQL Server:删除具有多条记录的行(NULL)

Ale*_*lex 2 t-sql sql-server

我有一个表格,其中包含零件编号和相关组件零件号和位置.

每个part_no可能有多个组件或根本没有.

这是一个例子

Part_No | Component_Part_No | Location
-----------------------------------------    
 12345  | NULL              | 001
 50001  | NULL              | 001
 50001  | 4001              | 001
 50001  | 4002              | 001 
Run Code Online (Sandbox Code Playgroud)

零件号5001具有NULL值以及其他组件.我希望能够删除部分50001具有NULL值的行,但保持部分号12345不变.问题是表中的50001的NULL值不正确,我需要删除这些行.

任何帮助表示赞赏.

谢谢

FJT*_*FJT 6

DELETE from table
WHERE component_part_no IS NULL
AND part_no in
    (SELECT part_no 
    FROM table
    WHERE component_part_no IS NOT NULL)
Run Code Online (Sandbox Code Playgroud)