寻找巧妙的方法来过滤左表

问题描述 投票:0回答:1

我正在 SQL Server 中编写查询,我有一个任务来过滤第一个表:

c1  c2  c3  c4
40  161 425 702
40  161 719 791
45  161 719 791
45  700 719 791
47  700 719 791

第二个表中的数据:

c1  c2  c3  c4
40  NULL    NULL    NULL
45  161 NULL    NULL

问题是,第二个表中的数据有“通配符”——如果列中有 NULL,则它可以是任何整数。长话短说,过滤表应该看起来像这样:

c1  c2  c3  c4
45  700 719 791
47  700 719 791

我可能最终会找到用循环过滤它的方法,但它似乎根本没有优化。

sql sql-server join filtering sql-server-2016
1个回答
0
投票

我正在用 MSSQL 编写脚本,我有一个任务来过滤第一个表:

c1 c2 c3 c4 40 161 425 702 40 161 719 791 45 161 719 791 45 700 719 791 47 700 719 791

第二个表中的数据:

c1 c2 c3 c4 40 空 空 空 45 161 空 空

问题是,第二个表中的数据有“通配符”——如果列中有 NULL,则它可以是任何整数。长话短说,过滤表应该看起来像这样:

© www.soinside.com 2019 - 2024. All rights reserved.