Excel Power Query 2016自定义列用于备注

时间:2017-09-20 14:52:34

标签: excel powerquery

我想在合并的查询表中添加一个notes列,这样当我刷新数据时,我在记录上做的注释继续排列。如何添加列来执行此操作?

2 个答案:

答案 0 :(得分:2)

答案 1 :(得分:0)

MySQL提供了INSERT和UPDATE的几种变体,以允许插入和更新所需的数据。这些功能提供了很大的功能和灵活性,使MySQL的功能显着提高。在本文中,我将概述每个功能,帮助您了解如何在其中进行选择,并指出一些需要注意的事项。

<强>设置

我正在使用MySQL 4.1.15创建我的示例。我假设MyISAM表不支持事务,具有以下示例数据:

create table t1 (
    a int not null primary key,
    b int not null,
    c int not null
) type=MyISAM;

create table t2 (
    d int not null primary key,
    e int not null,
    f int not null
) type=MyISAM;

insert into t1 (a, b, c) values
    (1, 2, 3),
    (2, 4, 6),
    (3, 6, 9);

insert into t2 (d, e, f) values
    (1, 1, 1),
    (4, 4, 4),
    (5, 5, 5);

<强>概述

假设我希望将t2中的数据插入到t1中。此数据将违反主键(列a为1时存在一行),因此插入将失败:ERROR 1062(23000):键1的重复条目“1”。回想一下,在MySQL中,主键只是一个唯一的键索引名为PRIMARY。任何违反任何唯一索引的数据都会导致同样的问题。

这种情况经常发生。例如,我可能会将一些数据导出到电子表格,将其发送到客户端,客户端可能会更新或添加一些数据并将电子表格返回给我。这是更新数据的一种可怕方式,但出于各种原因,我相信很多读者都发现自己处于类似情况。当我与一个在不同电子表格中有多个版本的数据的客户一起工作时,它发生了很多,我的任务是整理它,标准化格式并将其导入关系数据库。我必须从一个电子表格开始,然后插入和/或更新其他电子表格的差异。

我想要做的是要么只插入新行,要么插入新行并更新已更改的行(取决于方案)。有几种方法可以完成这两项任务。

仅插入新行

如果我只想插入不违反唯一索引的行,我可以:

从t2删除重复的行并插入剩余的所有内容:

delete t2 from t2 inner join t1 on a = d;
insert into t1 select * from t2;

第一个语句删除t2的第一行;第二个插入剩下的两个。这种方法的缺点是它不是事务性的,因为表是MyISAM并且有两个语句。如果没有其他任何表同时更改任何一个表,这可能不是问题。另一个缺点是我刚刚删除了后续查询中可能需要的一些数据。