我先试过这个。
Create table tablec (
id string,
group int,
rownumber int);
insert into table c
select * from (select distinct a.id,a.group,a.rownumber from
table a join table b
on a.group = b.group where a.rownumber <= b.rownumber ) T;
我也尝试了下面的查询并获得相同的结果。
insert into table c
select * from (select a.id, a.group, a.rownumber from
table a , table b
where a.group = b.group and a.rownumber <= b.rownumber ) T;
运行查询时,我没有收到错误。它正在创建表c,但值不受限制。任何人都可以建议我为什么会这样吗?
答案 0 :(得分:0)
我认为您不必使用JOIN
和DISTINCT
。像这样的相关exists
查询应该没问题。首先,看看它是否只提供了所需的记录。然后使用此选择运行Insert
语句。
SELECT a.group_id
,a.group_name
,a.rownumber
FROM tablea a
WHERE EXISTS (
SELECT 1
FROM tableb b
WHERE a.group_id = b.group_id
AND a.rownumber <= b.rownumber
);