我正在将一个字段迁移到一个新的表中。新的表有三个字段。我尝试的是
INSERT INTO foo VALUES ('', (SELECT bar FROM baz GROUP BY bar), '');
由于选择操作返回多行结果,导致出现错误。
正确的方法是什么?
如果我理解你的意思正确,你想要类似这样的东西:
INSERT INTO foo (col1name, col2name, col3name)
SELECT '', bar, ''
FROM baz
GROUP BY bar
INSERT INTO foo (col2name) SELECT DISTINCT bar FROM baz
执行计划和性能应该是相似的。
您可以尝试:
INSERT INTO foo
SELECT '',bar,'' FROM baz GROUP BY bar
INSERT INTO foo (fieldName1,fieldName2,fieldName3)
SELECT '',bar,'' FROM baz GROUP BY bar
INSERT INTO foo (col2name) SELECT bar FROM baz GROUP BY bar
其中col1和col3被定义为默认为空字符串。