我有一个巨大的电子表格文件(1000多行)和一个postgreSQL表。我需要将电子表格数据与postgresql表数据进行比较,并添加表格中的空白字段和电子表格中的数据,并添加db表中不存在的条目。
是的,我可以将(通过csv)整个电子表格转换为数据库表。但是,两个文档中都有唯一的值,因此我会丢失数据。或者,是否可以比较2个表并将表A中的缺失字段与表B中的数据填充?
提前致谢!
答案 0 :(得分:1)
在SQL中很容易比较两个表,并且不在一个表中插入行。例如:
INSERT INTO TableA
(col1, col2, col3)
SELECT
col1, col2, col3
FROM SpreadSheetTable
WHERE NOT EXISTS (
SELECT *
FROM TableA
WHERE TableA.col1 = SpreadSheetTable.col1
)
此查询将SpreadSheetTable中的所有行插入到TableA中,但TableA已包含具有相同“col1”值的行的行除外。