我需要找到一种方法来执行INSERT INTO table A
,但其中一个值来自于表B上的查找,请允许我进行说明。
我有以下2个表格:
表A:
A1: String
A2: Integer value coming from table B
A3: More Data
表B:
B1: String
B2: Integer Value
A的示例行:{“Value”,101,MoreData} B的示例行:{“English”,101}
现在,我知道我需要将以下内容插入到A {“Value2”,“English”,MoreData}中,但显然这是行不通的,因为它期望第二列中的Integer不是“English”,所以我需要先在表B中进行查找。
这样的事情:
INSERT INTO tableA (A1, A2, A3)
VALUES ("Value2", SELECT B2 FROM tableB where B1="English", MoreData);
显然这不起作用......
有什么建议吗?
答案 0 :(得分:6)
怎么样:
Insert into tableA ( a1,a2,a3)
(select "value2", b2, moreData from TableB where B1 = "English")
答案 1 :(得分:1)
似乎没有括号的跨DBMS,正如@Andriy M评论的那样:
insert into tableA (a1, a2, a3)
select 'value2', b2, moreData from tableB where B1='English'