我需要从excel列中插入许多值。
例如,我可以手动完成以下操作:
INSERT INTO estructura.multiselect_options
(value, id_multiselect, type_multiselect)
VALUES
('Some Value1', 9, 'field'),
('Some Value2', 9, 'field'),
('Some Other Value3', 9, 'field'),
('Some Another Value4', 9, 'field'),
etc...唯一的价值改变将是第一个,那些‘一些价值’。其他两个人永远是一样的。但我在Excel列中包含了所有这些“ValueN”,如下所示:
A
Some Value 1
Some Value 2
Some Other Value 3
Some Another Value 3
etc...那么,我是否可以从excel复制一个列,然后将所有的值放入我的查询中?一些在线工具,不管怎么样,我都搞不懂我是怎么做到的。执行这些操作的人期望在Postgres的SQL上运行一个查询文本。我不能使用其他方式来执行查询,所以我的唯一目标是创建大型查询文本,但是如何执行。
发布于 2017-05-17 19:16:35
有一些工具可以帮助将数据转换为插入,但我通常是在Excel中为自己做的。假设您的数据位于A至C列中,如下所示:
| A | B | C |
--+---------------------+---+-------+
1 | Some Value1 | 9 | field |
2 | Some Value2 | 9 | field |
3 | Some Other Value3 | 9 | field |
4 | Some Another Value4 | 9 | field |
--+---------------------+---+-------+然后在D1中输入公式
=CONCATENATE("('" , A1 , "'," , B1 , ",'", C1, "')," )把这个复制到所有的行。现在,您应该能够将这一列数据粘贴到insert values部件之后的代码窗口中,只需在要插入的最后一组值之后删除逗号即可。
或者,如果您只有A列,并且需要重复其他内容:
=CONCATENATE("('" , A1 , "', 9, 'field'),")正如@luisarcher所指出的,您可以使用级联符号CONCATENATE来组合“参数”,而不是使用&函数。这样做,第二个论坛将成为:
= "('" & A1 & "', 9, 'field'),"我反反复复地说我更喜欢哪种方法。有时,我也会将奇数位(如"('" )放入其他单元格中,并引用这些单元格。它使最后的公式更易于构造。
发布于 2017-05-17 17:33:52
查看这网站,您可以将excel文件保存为.csv并粘贴到这里。它将为您提供一个包含所有插入的查询。
https://stackoverflow.com/questions/44031093
复制相似问题