【发布时间】:2019-03-15 12:42:39
【问题描述】:
我有以下 postgres 查询,可以在数据库中找到重复记录,但我希望添加另一个条件,以便我可以说至少有一个重复记录的值是 v.varfield_type_code = 's' AND v.field_content ~ 'Greendale student cards%'(来自名为 sierra_view.varfield v ON p.record_id = v.record_id 的表)。
我尝试了 INNER JOIN 并正在研究 EXISTS。有没有人有任何见解?谢谢你。
SELECT
p.birth_date_gmt, 'p' || rm2.record_num || 'a' AS "patron",
n.last_name || ' ' || n.first_name || ' ' || n.middle_name as name,
count(*) as cnt
FROM
sierra_view.patron_record p
JOIN sierra_view.patron_record_fullname n ON p.record_id =
n.patron_record_id
JOIN sierra_view.record_metadata rm2 on p.record_id = rm2.id
/* JOIN sierra_view.varfield v on p.record_id =v.record_id */
WHERE p.birth_date_gmt BETWEEN '01-01-2001' AND '12-31-2017'
GROUP BY 1,2, 3
HAVING COUNT(1) > 1
ORDER BY 2,1
【问题讨论】:
标签: postgresql join exists