sqlserver数据库 某个表数据结构是快递数据,有三个单号字段,单条数据三个字段数据可以相同,单个字段不能和其他数据三个字段数据相同,查出有和其他数据重复的数据
时间: 2024-02-25 14:52:00 浏览: 102
可以使用以下 SQL 语句来查找符合要求的数据:
```
SELECT a.*
FROM 表名 a
INNER JOIN (
SELECT 单号1, 单号2, 单号3
FROM 表名
GROUP BY 单号1, 单号2, 单号3
HAVING COUNT(*) > 1
) b ON a.单号1 = b.单号1 AND a.单号2 = b.单号2 AND a.单号3 = b.单号3
```
这条 SQL 语句的作用是,首先在表中按照三个单号字段分组,找出重复出现的三个单号组合,然后再将原表与这个结果集进行内连接,找出符合条件的数据。其中,`单号1`、`单号2`、`单号3`分别表示三个单号字段的名称,需要替换成实际使用的字段名称。
相关问题
sqlserver数据库 某个表数据结构是快递数据,有三个单号字段,单条数据三个字段数据可以相同,单个字段不能和其他数据三个字段中某个数据相同,查出单个字段和其他数据某个字段有重单的数据
可以使用如下SQL语句来查询单个字段和其他数据某个字段有重单的数据:
```
SELECT t1.*
FROM 表名 t1
INNER JOIN 表名 t2
ON t1.单号字段1 = t2.单号字段2 OR t1.单号字段1 = t2.单号字段3
WHERE t1.单号字段1 = t2.单号字段1
```
其中,`表名`为需要查询的表名,`单号字段1/2/3`为三个单号字段的名称。
这个查询语句会将表中的每条数据和其他数据进行比较,如果单个字段和其他数据某个字段有重单,则会将这条数据查询出来。
阅读全文