level 1
贴吧用户_0N31Z2R
楼主
例如:
建表和数据如下:
create table a(
a varchar(12),
b varchar(12)
);
create table b(
a varchar(12),
c varchar(12)
);
insert into a(a,b) values('a','b');
insert into b(a,c) values('a','c');
然后用with as查询时可以的:
with t as(
select a a, c b from b
)
select * from t;
但是用with as的结果去插入或者更新其他表就不知道怎么写了:
with t as(
select a a, c b from b
)
insert into a(a,b)
select * from t;
或者
with t as(
select a a, c b from b
)
merge into a using t on a.a = t.a when matched then update set a.b = c.b
这样就报错了
2018年05月29日 02点05分
1
建表和数据如下:
create table a(
a varchar(12),
b varchar(12)
);
create table b(
a varchar(12),
c varchar(12)
);
insert into a(a,b) values('a','b');
insert into b(a,c) values('a','c');
然后用with as查询时可以的:
with t as(
select a a, c b from b
)
select * from t;
但是用with as的结果去插入或者更新其他表就不知道怎么写了:
with t as(
select a a, c b from b
)
insert into a(a,b)
select * from t;
或者
with t as(
select a a, c b from b
)
merge into a using t on a.a = t.a when matched then update set a.b = c.b
这样就报错了