mysql根据现有数据插入到一对多表中的查询中

时间:2013-05-22 15:30:42

标签: mysql

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

例如,在表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...

关于如何实现这一点的任何想法,缺乏笨拙的手工工作???

1 个答案:

答案 0 :(得分: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