SQL多个主键的表,插入数据有重复时,查询数据的重复值?
2016-12-19 23:11
429 查看
SQL多个主键的表,插入数据有重复时,会提示违反主键约束不能插入的错误。那么,如何找到插入数据的重复值?
解决方法:使用group by 假设有个表#a,有saleid,vendorid,comid,price,saleprice,quantity等字段。主键是:saleid,vendorid,comid三个。假设插入#a的数据源可能会有重复的。即:saleid,vendorid,comid三个字段都一样的字段,那么插入#a的时候会报主键冲突,违反主键约束。 如果想找出#a表中插入重复的值可用下面语句来查询:Select saleid,vendorid,comid,count(*) from
#a group by saleid,vendorid,comid having count(*)>1以上语句会按照三个主键saleid,vendorid,comid分组,如果saleid,vendorid,comid都一样的记录则统计相同的有几行记录。Group by 后面的having条件则是查询出相同记录大于1行的。
解决方法:使用group by 假设有个表#a,有saleid,vendorid,comid,price,saleprice,quantity等字段。主键是:saleid,vendorid,comid三个。假设插入#a的数据源可能会有重复的。即:saleid,vendorid,comid三个字段都一样的字段,那么插入#a的时候会报主键冲突,违反主键约束。 如果想找出#a表中插入重复的值可用下面语句来查询:Select saleid,vendorid,comid,count(*) from
#a group by saleid,vendorid,comid having count(*)>1以上语句会按照三个主键saleid,vendorid,comid分组,如果saleid,vendorid,comid都一样的记录则统计相同的有几行记录。Group by 后面的having条件则是查询出相同记录大于1行的。
相关文章推荐
- 一条SQL搞定 插入数据主键重复或数据已经存在,则更新这条数据
- SQL 语句之insert语句插入数据:若表中有重复的主键或数据继续插入解决方案
- sql查询一张表中两个字段重复的数据并得到其主键
- 主键id是自增的,插入数据还是提示 SQL 不能插入重复键
- SQL 语句之insert语句插入数据;若表中有重复的主键或数据插入的时候要求不能报错
- Sql查询重复数据
- sql 查询不重复数据
- SQL查询重复数据和清除重复数据
- sqlserver中多行所有数据重复,无法更新或删除问题,通常是在没有主键的情况下的表
- SQL 查询业务库_SQL 查询数据字典_sql查询表结构,过程,视图,主键,外键,约束
- 数据库insert and update--查询是否主键存在和插入语句用一条sql来实现。
- 多表的内连接查询,附带取出重复数据的sql语句
- Sql查询数据表中的重复纪录(轉)
- SQL查询重复数据
- Sql查询语句过滤重复的数据
- JDBC中sql插入数据得到主键的方法
- SQL查询重复数据和清除重复数据
- sql查询重复数据,删除重复数据
- 查询和删除表中重复数据sql语句
- SQL常用语句之-查询数据库表中的字段上的重复数据