基于组的视图并存在于表中
Views based on groups and exists across tables
我有两个表:
T1
Col1 Col2
A 1
A 2
A 2
B 2
C 3
D 4
D 4
T2
Col1 Col2
A 2
B 2
C 4
我希望根据以下内容创建两个视图:
其中来自 t2 的 Col1 和 Col2 在 t1 中存在一次
其中 t2 中的 Col1 和 Col2 在 t1 中存在不止一次
预期输出为
观看 1
Col1 Col2
B 2
查看 2
Col1 Col2
A 2
我怎样才能实现这个目标?
Table 脚本:
create table t1 (col1 varchar2(1), col2 varchar2(2));
create table t2 (col1 varchar2(1), col2 varchar2(2));
insert into t1 values ('A',1);
insert into t1 values ('A',2);
insert into t1 values ('A',2);
insert into t1 values ('B',2);
insert into t1 values ('C',3);
insert into t1 values ('D',4);
insert into t1 values ('D',4);
insert into t2 values ('A',2);
insert into t2 values ('B',2);
insert into t2 values ('C',4);
您可以加入 t2
来自 t2
的聚合查询,计算 col1
出现的次数:
CREATE VIEW view1 AS
SELECT t2.*
FROM t2
JOIN (SELECT col1, col2
FROM t1
GROUP BY col1
HAVING COUNT(*) = 1) c ON t2.col1 = c.col1 AND t2.col2 = c.col2;
CREATE VIEW view2 AS
SELECT t2.*
FROM t2
JOIN (SELECT col1, col2
FROM t1
GROUP BY col1
HAVING COUNT(*) > 1) c ON t2.col1 = c.col1 AND t2.col2 = c.col2;
我有两个表:
T1
Col1 Col2
A 1
A 2
A 2
B 2
C 3
D 4
D 4
T2
Col1 Col2
A 2
B 2
C 4
我希望根据以下内容创建两个视图:
其中来自 t2 的 Col1 和 Col2 在 t1 中存在一次
其中 t2 中的 Col1 和 Col2 在 t1 中存在不止一次
预期输出为
观看 1
Col1 Col2
B 2
查看 2
Col1 Col2
A 2
我怎样才能实现这个目标?
Table 脚本:
create table t1 (col1 varchar2(1), col2 varchar2(2));
create table t2 (col1 varchar2(1), col2 varchar2(2));
insert into t1 values ('A',1);
insert into t1 values ('A',2);
insert into t1 values ('A',2);
insert into t1 values ('B',2);
insert into t1 values ('C',3);
insert into t1 values ('D',4);
insert into t1 values ('D',4);
insert into t2 values ('A',2);
insert into t2 values ('B',2);
insert into t2 values ('C',4);
您可以加入 t2
来自 t2
的聚合查询,计算 col1
出现的次数:
CREATE VIEW view1 AS
SELECT t2.*
FROM t2
JOIN (SELECT col1, col2
FROM t1
GROUP BY col1
HAVING COUNT(*) = 1) c ON t2.col1 = c.col1 AND t2.col2 = c.col2;
CREATE VIEW view2 AS
SELECT t2.*
FROM t2
JOIN (SELECT col1, col2
FROM t1
GROUP BY col1
HAVING COUNT(*) > 1) c ON t2.col1 = c.col1 AND t2.col2 = c.col2;