相关疑难解决方法(0)

SQL:如何根据两个字段查找重复项?

我在Oracle数据库表中有行,对于两个字段的组合应该是唯一的,但是没有在表上设置唯一约束,所以我需要使用SQL找到所有违反约束的行.不幸的是,我的微薄SQL技能无法胜任.

我的表有三列相关:entity_id,station_id和obs_year.对于每一行,station_id和obs_year的组合应该是唯一的,我想通过SQL查询将它们刷出来查明是否存在违反此行的行.

我尝试了以下SQL(由前一个问题提出),但它对我不起作用(我得到ORA-00918列模糊定义):

SELECT
entity_id, station_id, obs_year
FROM
mytable t1
INNER JOIN (
SELECT entity_id, station_id, obs_year FROM mytable 
GROUP BY entity_id, station_id, obs_year HAVING COUNT(*) > 1) dupes 
ON 
t1.station_id = dupes.station_id AND
t1.obs_year = dupes.obs_year
Run Code Online (Sandbox Code Playgroud)

有人可以建议我做错了什么,和/或如何解决这个问题?

sql oracle unique unique-constraint ora-00918

20
推荐指数
2
解决办法
7万
查看次数

JPA中的唯一约束检查

我在JPA中对userid列强制执行唯一约束检查​​,该列对用户表中的所有记录强制执行.

@Table(name = "user",
       uniqueConstraints = @UniqueConstraint(columnNames = userid))
Run Code Online (Sandbox Code Playgroud)

我的要求是,特定组织中的用户ID需要是唯一的,而不是所有组织.

我该如何执行这样的检查?

hibernate jpa

11
推荐指数
1
解决办法
1万
查看次数

标签 统计

hibernate ×1

jpa ×1

ora-00918 ×1

oracle ×1

sql ×1

unique ×1

unique-constraint ×1