简体   繁体   English

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

[英]mysql insert into query in a one-to-many table, based upon existing data

How can I make a query to enter items in a one-to-many table based upon a existing data. 如何基于现有数据进行查询以在一对多表中输入项目。

For instance, on Table OTM 例如,在表OTM上

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

Whenever serv_id is '1' I want to add to that v_id the serv_id's 6, 11, 16, 21, for instance, resulting like this: 每当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...

Any ideas on how to accomplish that, short of grunt manual work??? 关于如何完成此任务的任何想法,如果不花时间进行手动操作?

You could use some other language to do it, easily, and there may be a better way than this, but I think it should work 您可以轻松地使用其他语言来完成此操作,也许还有比这更好的方法,但是我认为它应该可以工作

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 http://sqlfiddle.com/#!2/23bc5/1

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM