我有一个查询,它返回一个项目列表和空白序列号字段,如下所示:
Item S/N
1
1
1
2
3
3
3
3
. . .
重复是有意的,因为一个项目的行数对应于购买的项目数。我还有一个表,其中包含已收到序列号的项目:
Item S/N
2 416
3 72
3 319
. . .
构建第一个列表的查询不引用带有序列号的表。现在,我想使用表中的信息修改查询结果,以便将表中的序列号添加到匹配项中。但是,如果没有足够的序列号,我希望保留空白序列号(请注意,表中的条目永远不会多于查询)。新结果如下所示:
Item S/N
1
1
1
2 416
3 72
3 319
3
3
. . .
我认为使用左侧的查询结果(通过公共表表达式)和右侧的表,左外连接会给我我想要的东西。但是当我尝试它时,这就是我得到的:
Item S/N
1
1
1
2 416
3 72
3 72
3 72
3 72
3 319
3 319
3 319
3 319
. . .
看起来查询对匹配项执行了交叉连接,但在没有匹配项时保留左侧行基数;不是我想要的。有没有我可以用来获得我想要的东西的连接或方法?