相同ID,结果全部OK,则只保留一条OK结果。有一个或多个NG,则保留一条NG结果。怎么写
ID结果
1111OK
1111OK
2222NG
2222OK

SQL server  期望查询返回结果

1111    OK

2222    NG

长路漫浩浩 发布于 2022-9-3 23:13 (编辑于 2022-9-4 11:56)
1min目标场景问卷 立即参与
回答问题
悬赏:1 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共1回答
最佳回答
0
zsh331Lv8专家互助
发布于2022-9-3 23:47(编辑于 2022-9-4 12:40)

select ID字段,结果字段 from tabname group by ID字段,结果字段

————————————————

更新:

SELECT

C.id,

C.JG

FROM

(

SELECT

a.id,

CASE

WHEN b.id IS NOT NULL THEN

"NG"

ELSE

a.JG

END AS JG

FROM

tabname a

LEFT JOIN (

SELECT DISTINCT

ID

FROM

tabname

WHERE

JG = "NG"

) b ON a.id = b.id

) c

GROUP BY

C.id,

C.JG

  • 长路漫浩浩 长路漫浩浩(提问者) 这样2222 会返回两条结果。我只要一条NG的结果
    2022-09-04 11:54 
  • zsh331 zsh331 回复 长路漫浩浩(提问者) - -真不明白你这都是些什么需求!
    2022-09-04 12:40 
  • 长路漫浩浩 长路漫浩浩(提问者) 回复 zsh331 同一物料,多项检测,一项检测一行数据,有一项不通过则判定不通过,我用来算,一共通过了多少个,没通过多少个,算产品良率的。感谢大佬。
    2022-09-04 14:45 
  • 2关注人数
  • 326浏览人数
  • 最后回答于:2022-9-4 12:40
    请选择关闭问题的原因
    确定 取消
    返回顶部