繁体   English   中英

每个在SQL?

[英]for each in sql?

如何在SQL中编写以下查询? 我有一个表,其中B列错误地填充了重复的值。 查找这些重复项的最简单方法是与同一个表中的另一列A(通常应该是一对一的对应关系)进行比较,该表可能包含重复的列B值的多行

像这样

column A | column B
-------------------
00234211 | T 156   
00011331 | T 157   
00011331 | T 157   
04600100 | T 157  <--- This is probably an erroneous value, show me every row for "T 157"
07740010 | T 159

我将如何编写类似于此可怕伪代码的SQL查询

  for all rows:
    let A = columnA_value, B = columnB_value
    for rows where columnA = A:
      IF COUNT(columnB) > 1, 
          SHOW all rows WHERE columnA = A

嗯。 我想你要:

select t.*
from t
where exists (select 1 from t t2 where t2.b = t.b and t2.a <> t.a);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM