需要根据1这个值查找B表 获得值C
然后 INSERT INTO A VALUES('1','2',C)
怎么实现阿 coalesce AS不行啊
6 个解决方案
#1
insert 语句没这功能
你只能先查询出来了在插入
你只能先查询出来了在插入
#2
insert into tableA (a, b, c ) values("1", "2", select t1.c from tableB t1 where t1.a = "1")
就是这种形式
#3
insert into a
select '1' , '2' , c from b where 什么字段 = '1'
#4
insert into a
select '1' , '2' , c from b where 什么字段 = '1'
----------------------------
正解
select '1' , '2' , c from b where 什么字段 = '1'
----------------------------
正解
#5
使用insert into ... select ...格式就可以了
#6
测试数据:
测试结果:
CREATE TABLE T163
(
ID VARCHAR2(20),
F1 VARCHAR2(20),
F2 VARCHAR2(20)
);
INSERT INTO T163 VALUES('1', '11', NULL);
INSERT INTO T163 VALUES('2', '22', NULL);
CREATE TABLE T164
(
ID VARCHAR2(20),
F2 VARCHAR2(20)
);
INSERT INTO T164 VALUES('1', 'AA');
INSERT INTO T164 VALUES('2', 'BB');
测试结果:
#1
insert 语句没这功能
你只能先查询出来了在插入
你只能先查询出来了在插入
#2
insert into tableA (a, b, c ) values("1", "2", select t1.c from tableB t1 where t1.a = "1")
就是这种形式
#3
insert into a
select '1' , '2' , c from b where 什么字段 = '1'
#4
insert into a
select '1' , '2' , c from b where 什么字段 = '1'
----------------------------
正解
select '1' , '2' , c from b where 什么字段 = '1'
----------------------------
正解
#5
使用insert into ... select ...格式就可以了
#6
测试数据:
测试结果:
CREATE TABLE T163
(
ID VARCHAR2(20),
F1 VARCHAR2(20),
F2 VARCHAR2(20)
);
INSERT INTO T163 VALUES('1', '11', NULL);
INSERT INTO T163 VALUES('2', '22', NULL);
CREATE TABLE T164
(
ID VARCHAR2(20),
F2 VARCHAR2(20)
);
INSERT INTO T164 VALUES('1', 'AA');
INSERT INTO T164 VALUES('2', 'BB');
测试结果: