【发布时间】:2020-03-04 19:05:28
【问题描述】:
假设您有一个查询,并且您只想显示具有子查询所有值的那个。例如,我们有下表:
CREATE TABLE test
(
code VARCHAR2(4),
year VARCHAR2(4),
action VARCHAR2(50),
CONSTRAINT pk PRIMARY KEY (code, year)
);
还有以下寄存器:
INSERT INTO test
VALUES ('1','2020','Departure');
INSERT INTO test
VALUES ('1','2021','Arrival');
INSERT INTO test
VALUES ('2','2020','Departure');
想象一个子查询返回以下值:
('Departure','Arrival')
所以我想做一个查询,它只返回与子查询中返回的两个值相匹配的代码和年份。查看寄存器,它应该只返回 return ('1','2020') 和 ('1','2021') 因为它们是唯一的动作是 'Arrival' 和 'Departure' 的。我该怎么办?
【问题讨论】:
-
您是否在任何地方尝试过您的代码?如果代码是一个PK,为什么你有2行代码='1'?数据应该在 2 行,还是只有一个就足够了? (例如在您的数据中,如果我们省略了PK问题,它应该返回1、2020、2021 一行,还是1,2020 和1,2021 2 行?
-
抱歉,刚刚更正了