首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在历史记录中选择缺少条目的行?

如何在历史记录中选择缺少条目的行?
EN

Stack Overflow用户
提问于 2011-11-14 17:41:43
回答 3查看 83关注 0票数 0

从下面的数据基础上,我需要选择没有11.11.2011条目的所有IDQ

代码语言:javascript
复制
IDQ | DATE
----------------
 1  | 08.11.2011
 1  | 09.11.2011
 1  | 10.11.2011
 1  | 12.11.2011
 1  | 13.11.2011

我想不出如何表达sql语句

代码语言:javascript
复制
select
   IDQ
from
   TBL_WITH_IDQ T
where not exists ( DATE = '11.11.2011' ) // sql does not the job

数据库是Oracle 11g。

也许有人能帮我?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-11-14 17:49:24

尝试:

代码语言:javascript
复制
select idq
from TBL_WITH_IDQ
group by idq
having max(decode("DATE", '11-Nov-2011',1, 0)) = 0 -- double-quoted keyword column name

(单遍解决方案)-如果您的原始表是TBL_WITH_IDQ

另一方面,如果您的原始表是TBL_WITH_DATES,并且您希望包含没有任何条目的IDQ,我建议使用Parkyprg的解决方案的以下变体:

代码语言:javascript
复制
select IDQ
from TBL_WITH_IDQ t
where not exists
(SELECT null 
 FROM TBL_WITH_DATES d
 where d."DATE" = '11-Nov-2011' and t.idq = d.idq)
票数 1
EN

Stack Overflow用户

发布于 2011-11-14 17:46:40

代码语言:javascript
复制
select
   IDQ
from
   TBL_WITH_IDQ T
where IDQ NOT IN ( SELECT IDQ FROM TBL_WITH_DATES where DATE = TO_DATE('11.11.2011','dd.mm.YYYY') )

IDQ-是您在问题中使用的表,而TBL_WITH_IDQ是定义TBL_WITH_DATES的原始表。

票数 0
EN

Stack Overflow用户

发布于 2011-11-14 17:55:59

您是否有IDQ是唯一标识符的表?如果是这样的话,您的查询可以像这样进行改革...

代码语言:javascript
复制
SELECT
  *
FROM
  primary_idq_table
WHERE
  NOT EXISTS (SELECT * FROM TBL_WITH_IDQ WHERE DATE = '11.11.2011')
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8119658

复制
相关文章

相似问题

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