0

既存のデータに基づいて、1 対多のテーブルにアイテムを入力するクエリを作成するにはどうすればよいですか。

たとえば、テーブル OTM では

v_id      serv_id
1            1
2            1
3            2
4            5
5            1

serv_id が '1' の場合は常に、その v_id に serv_id の 6、11、16、21 を追加します。たとえば、次のようになります。

v_id       serv_id
1             1
1             6
1             11
1             16
1             21
2             1
2             6
2             11
2             16
2             21
3             2
and so on...

それを達成する方法についてのアイデアはありますか?

4

1 に答える 1

1

他の言語を使用して簡単に行うことができます。これよりも良い方法があるかもしれませんが、うまくいくと思います

INSERT INTO t1 (v_id, serv_id)
SELECT v_id, 6 FROM t1 WHERE serv_id = 1
UNION SELECT v_id, 11 FROM t1 WHERE serv_id = 1
UNION SELECT v_id, 16 FROM t1 WHERE serv_id = 1
UNION SELECT v_id, 21 FROM t1 WHERE serv_id = 1

http://sqlfiddle.com/#!2/23bc5/1

于 2013-05-22T15:37:03.630 に答える