当没有包含FieldB值的记录时创建新记录

时间:2015-11-14 13:32:33

标签: mysql join insert

我做了一个sqlfiddle来解释这个: http://sqlfiddle.com/#!9/6f991/1 我假设这里有一个连接,所以我添加了一个关键字

总结是我有一个包含fieldA和fieldb的表。如果fieldb中的任何值没有相应的fielda记录,我想在表中添加新记录。

示例:

  • Color1 | COLOR2
  • 红色|蓝色
  • 蓝色|绿色
  • 黑色|红色

由于Color1中没有Green记录,我想用Color2 NULL

添加它
  • 绿色|

我相信解释的sqlfiddle也很容易:http://sqlfiddle.com/#!9/6f991/1

1 个答案:

答案 0 :(得分:0)

您可以使用insert-select语句来查询color1中不属于color2的值:

INSERT INTO AddNew (color1)
SELECT color2
FROM   AddNew
WHERE  color2 NOT IN (SELECT color1
                      FROM   AddNew)

<强> SQLFiddle