gpt4 book ai didi

c# - 没有对的单独记录

转载 作者:太空宇宙 更新时间:2023-11-03 16:37:01 26 4
gpt4 key购买 nike

Query

上图中是我从数据库中检索到的 Serial#Part# 的示例列表。

每个 PN 必须有一个配对的 PN

像这样:

P04-000001-00111-V000 = P04-000001-10111-V000

P04-000001-00111-V000

P04-000001-10111-V000

1 表示低零件号,0 表示高零件号。

我的要求只是排除或标记有多余或没有 SN 8 对的行。

我仍在寻找解决这个问题的方法,所以我还没有发布我尝试过的方法。

最佳答案

您可以使用 row_number()生成一个 id,你可以将你的行与之配对。使用完全外部联接从 C0C1 中获取不匹配的行。

with C0 as
(
select SN,
PN,
row_number() over(partition by PN order by SN) as rn
from YourTable
where substring(PN, 12, 1) = 0
),
C1 as
(
select SN,
PN,
row_number() over(partition by PN order by SN) as rn
from YourTable
where substring(PN, 12, 1) = 1
)
select coalesce(C0.SN, C1.SN) as SN, *
from C0
full outer join C1
on C0.PN = stuff(C1.PN, 12, 1, '0') and
C0.rn = C1.rn
where C0.SN is null or
C1.SN is null

试穿Stack Exchange Data Explorer

关于c# - 没有对的单独记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8800296/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com