首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于定位多个MARC标记实例的查询(SQL)

用于定位多个MARC标记实例的查询(SQL)
EN

Stack Overflow用户
提问于 2013-06-04 03:22:13
回答 1查看 147关注 0票数 0

我正在尝试运行一个查询,该查询将搜索书目记录数据库,并根据一些设置的参数输出具有一个以上020标签的所有记录。

注意:参数是灵活的。重要的部分是找到具有两个或更多020标签的记录。

这就是我所拥有的:

代码语言:javascript
复制
select b.bib#, b.text, t.processed, i.call, i.collection, i.creation_date
from bib b, title t, item i
where b.bib# = t.bib# and t.bib# = i.bib#
    and b.tag = '020'
    and i.collection in ('PIC', 'E')
order by i.creation_date DESC, i.collection

这将显示每个020和伴随的文本,但我希望它只显示具有两个或更多020的记录。也许是按bib#分组的?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-06-04 03:31:12

我不确定您需要的确切语法,但您可以使用子查询:

代码语言:javascript
复制
                   select b.bib#
                   from bib b
                   where b.tag = '020'
                   group by b.bib#
                   HAVING COUNT(*) > 1

要识别具有多个'020‘条目的bib#,请加入该条目或将WHERE条件与IN like一起使用:

代码语言:javascript
复制
select b.bib#, b.text, t.processed, i.call, i.collection, i.creation_date
from bib b, title t, item i
where b.bib# = t.bib# and t.bib# = i.bib#
    and b.tag = '020'
    and i.collection in ('PIC', 'E')
    and b.bib# IN (select b.bib#
                   from bib b
                   where b.tag = '020'
                   group by b.bib#
                   HAVING COUNT(*) > 1)
order by i.creation_date DESC, i.collection
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16904267

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档