0

如何根据现有数据进行查询以在一对多表中输入项目。

例如,在表 OTM

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

每当 serv_id 为“1”时,我想将 serv_id 的 6、11、16、21 添加到该 v_id,例如,结果如下:

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 回答