我有一张桌子"例子"
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
我知道我可以通过
获得IdsSELECT DISTINCT id FROM example;
但我不知道如何将两个陈述合并为一个。 那么:我该怎么做?
答案 0 :(得分:2)
你可以使用insert as select和distinct来完成它,如下所示:
INSERT INTO example
(SELECT distinct ID,'ij',50 FROM example)
如果这3列是唯一的列,按顺序排列,如果不是,则需要在select之前指定(id,name,value)。
选择将在您的情况下返回:
1 | 'ij' | 50
2 | 'ij' | 50
3 | 'ij' | 50
然后将插入