急死!INSERT INTO一张表 但是需要根据插入的其中一个字段查找另一张表的值

时间:2021-02-24 15:06:58
比如 INSERT INTO A VALUES('1','2')

需要根据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


引用楼主 caonimadebi_lazio1 的回复:
比如 INSERT INTO A VALUES('1','2')

需要根据1这个值查找B表 获得值C

然后 INSERT INTO A VALUES('1','2',C)

怎么实现阿 coalesce AS不行啊

insert into a 
select '1' , '2' , c from b where 什么字段 = '1'

#4


insert into a  
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');

测试结果:
急死!INSERT INTO一张表 但是需要根据插入的其中一个字段查找另一张表的值

#1


insert 语句没这功能
你只能先查询出来了在插入 

#2


 insert into tableA (a, b, c ) values("1", "2", select t1.c from tableB t1 where t1.a = "1")

就是这种形式

#3


引用楼主 caonimadebi_lazio1 的回复:
比如 INSERT INTO A VALUES('1','2')

需要根据1这个值查找B表 获得值C

然后 INSERT INTO A VALUES('1','2',C)

怎么实现阿 coalesce AS不行啊

insert into a 
select '1' , '2' , c from b where 什么字段 = '1'

#4


insert into a  
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');

测试结果:
急死!INSERT INTO一张表 但是需要根据插入的其中一个字段查找另一张表的值