9

方法を見つける必要がありINSERT INTO table Aますが、値の 1 つはテーブル 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} に INSERT する必要があることはわかっていますが、2 番目の列に "English" という単語ではなく整数が必要であるため、明らかにそれは機能しません。最初にテーブル B を検索します。

このようなもの:

INSERT INTO tableA (A1, A2, A3) 
VALUES ("Value2", SELECT B2 FROM tableB where B1="English", MoreData);

明らかに、これはそのままでは機能しません...

助言がありますか?

4

2 に答える 2

9

どうですか:

Insert into tableA ( a1,a2,a3) 
(select "value2", b2, moreData from TableB where B1 = "English")
于 2010-04-21T16:22:49.393 に答える
2

@Andriy M がコメントしたように、括弧のないクロス DBMS のようです。

insert into tableA (a1, a2, a3) 
select 'value2', b2, moreData from tableB where B1='English'
于 2012-07-24T08:21:50.867 に答える