2016-03-06 53 views
0

值我有一个表“榜样”插入行与其它子查询

id | name | value 
------------------- 
1 | 'ab' | 10 
2 | 'ab' | 30 
3 | 'ef' | 20 
1 | 'gh' | 40 
3 | 'kl' | 40 
1 | 'mn' | 40 
2 | 'mn' | 40 

,我想每一个ID1新行这样加一次:后

INSERT INTO example (id, name, value) VALUES (<every id>, 'ij', 50) 

使语句中的表应该是这样的:

id | name | value 
------------------- 
1 | 'ab' | 10 
2 | 'ab' | 30 
3 | 'ef' | 20 
1 | 'gh' | 40 
3 | 'kl' | 40 
1 | 'mn' | 40 
2 | 'mn' | 40 
1 | 'ij' | 50 
2 | 'ij' | 50 
3 | 'ij' | 50 

我知道我可以通过

得到的ID
SELECT DISTINCT id FROM example; 

但我不知道如何将两个语句合并为一个。 所以:我该怎么做?

回答

2

你可以用插入做到这一点的选择和独特的,就像这样:

INSERT INTO example 
(SELECT distinct ID,'ij',50 FROM example) 

是,如果这3列是唯一的列的顺序,如果没有,你需要指定(ID,名称,值)在选择之前。

的选择将返回你的情况:

1 | 'ij' | 50 
2 | 'ij' | 50 
3 | 'ij' | 50 

然后将其插入

+0

就像一个魅力。谢谢! –