【发布时间】:2018-07-25 05:33:44
【问题描述】:
这本质上是一个关于根据另一个表中的信息将数据插入到一个表中的问题。 db 是用 sqlite3 实现的。我是一个相对较新的 SQL 用户。
我有两个表,CUSTOMERS 和 MISSING,如下所示(空格表示 NULL)。
CUSTOMERS:
ID|V1|V2|V3
1|18|23|14
2| 7| |11
4| |14|
7|19|22|12
MISSING:
ID|V1|V2|V3
2| N| Y| N
3| Y| Y| Y
4| Y| N| Y
5| Y| Y| Y
8| Y| Y| Y
表 MISSING 指示表 CUSTOMERS 中的哪些客户 ID 没有记录某些变量的值。因此,例如,客户 2 缺少变量 V2 的值,但缺少 V1 或 V3 的值。同样,客户 3、5 和 8 缺少所有三个变量 V1、V2、V3 的值。请注意,客户 6 不存在,因此在 CUSTOMERS 或 MISSING 中都没有记录。
当客户缺少不完整的数据时(即,与客户 4 一样,仅缺少 2 或三个变量的值)表 CUSTOMERS 中已经有一条记录,我不想任何改变。但是,当客户缺少所有三个变量的值(如客户 3、5 和 8)时,我想在 V1、V2 和 V3 中向客户添加一条带有 NULL 的记录,以便表格如下所示。
CUSTOMERS:
ID|V1|V2|V3
1|18|23|14
2| 7| |11
3| | |
4| |14|
5| | |
6| | |
7|19|22|12
8| | |
我知道如何从 MISSING 中选择表明缺少 V1、V2 和 V3 信息的 ID ...但我如何使用它对 CUSTOMERS 进行所需的更改?
【问题讨论】: