3

2 つのテーブルと、それらの間に連想テーブルがあります (それらTab1Tab2と と呼びましょうATab)。

Tab1まったく同じフィールドがありTab2ます(目的など):

  • Id.
  • Name.

私のでは、アソシエイトとその IDATabにレコードを挿入したいと考えています。Tab1Tab2

そうするために、次のようなSQLスクリプトでクエリを書きたいと思います:

私は次のようなことをすることができます:

INSERT INTO ATab(Tab1Id, Tab2Id) 
SELECT Tab1.Id, ????? 
FROM Tab1 WHERE Tab1.Name='Foo';

しかしFoo、最初のテーブルのレコードのみを選択しています...

「二重」のwhere句を実行するにはどうすればよいですか? 出来ますか ?

4

1 に答える 1

6

を使用してAND

INSERT INTO ATab(Tab1Id, Tab2Id) 
(SELECT Tab1.Id, Tab2.Id
FROM Tab1, Tab2 WHERE Tab1.Name = 'Foo' AND Tab2.Name = 'Bar')
于 2012-09-17T07:59:48.783 に答える