Excel Power Query 2016自定义列的笔记

我想添加一个注释列到一个合并的查询表中,这样当我刷新数据时,我在logging上所做的注释就会继续排列。 我如何添加一列来做到这一点?

看到我对这个问题的回答:

在自定义列中手动插入文本,并在报告刷新时显示

它包含一个说明video的链接:

https://youtu.be/duNYHfvP_8U?list=PLmajzIMNl6yH7MvMLmlgGUW5dOsKg74mQ

MySQL提供了INSERT和UPDATE的几个变体,以允许插入和更新所需的数据。 这些特性提供了很大的能力和灵活性,使得MySQL比其他方式更有能力。 在本文中,我将概述每个function,帮助您了解如何从中select,并指出一些需要注意的事项。

build立

我正在使用MySQL 4.1.15来创build我的示例。 我假设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的行),所以插入失败:错误1062(23000):键1的重复条目“1”。回想一下,在MySQL中,主键只是一个独特的索引名为PRIMARY。 任何违反任何唯一索引的数据都会导致同样的问题。

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

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

只插入新行

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

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

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

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