当前位置: 首页 > 知识库问答 >
问题:

比较2个MySQL表并将新行移动到第二个表

华瀚漠
2023-03-14

TB1
+---------------+---------------+---------------+---------------+
| id            | col1          | col2          |col3           |
+---------------+---------------+---------------+---------------+
| 1             | value1        | val-A         |false          |
| 2             | value2        | val-B         |false          |
| 3             | value1        | val-C         |false          |
| 4             | value3        | val-D         |false          |
| 5             | value4        | val-E         |false          |
+---------------+---------------+---------------+---------------+



TB2
+---------------+---------------+---------------+---------------+
| id            | col1          | col2          |col3           |
+---------------+---------------+---------------+---------------+
| 1             | value1        | val-A         |true           |
| 2             | value2        | val-B         |false          |
| 3             | value1        | val-C         |true           |
| 4             | value3        | val-D         |false          |
+---------------+---------------+---------------+---------------+
SELECT TB1.col1, TB1.col2 FROM (
SELECT TB1.col1, TB1.col2 FROM TB1
UNION ALL
SELECT TB2.col1, TB2.col2 FROM TB2
) TB1
GROUP BY TB1.col1
HAVING count(*) = 1
ORDER BY TB1.col1

共有1个答案

游勇军
2023-03-14

我认为在我的sql中没有减号,但外部联接应该有效

http://sqlfiddle.com/#!2/e73e4/1/0

Insert into tb2 (
Select tb1.ID, tb1.Col1, tb1.Col2, tb1.Col3 from tb1 
LEFT JOIN tb2 on Tb1.col1=tb2.col1 and Tb1.col2=tb2.col2
Where tb2.col1 is null);

但我可能错过了你想要的东西...

 类似资料:
  • 我正在制作一个输血游戏。我有2个数组列表。一个有献血者的血型和姓名,第二个有接受者的血型和姓名。所有的名字我都会得到用户的输入并将它们存储在一个数组中(接受者数组列表更大)。 我不知道如何使用布尔2D数组将两个数组列表进行比较(应该返回true或false)。例如,在所有捐赠者和接受者输入姓名和血型后,程序应该告诉他们是否匹配。 我知道下面的代码是错误的,但我不知道怎么做。

  • 我在Java有两个列表,例如,我希望这些列表被比较为相等,因为list1等于list2的START。 我得到了没有流的代码: 是否可以使用Java流来实现这一点?如果是,怎么做?我正在努力学习如何使用流,这真的很难。提前谢谢你。

  • 我有两个表,分别是产品和采购: PRODUCTS表-将获得购买的所有新产品。这意味着表prroducts中不存在相同的productname。所有独特产品列表 采购表-具有唯一purchase_id的所有采购产品的列表。 > 如果要在PURCHASE中添加或插入值,表PRODUCTS将获得PURCHASE的所有值,但前提是PURCHASE中的productname不存在于PRODUCTS中的'pr

  • 问题内容: 我在Oracle中有一张表叫做引号,有两列: date 和 value 。 我想比较表中最后一个条目和第二个最后一个条目的值。 在此示例中,我想一行获取 13.1和11.1的 日期, 以及 每个日期的值之间的差(10-5 = 5)。 报价表: 日期-值 2010年1月13日-10 11.1.2010-5 2010年1月10日-2 2010年10月8日-1 编辑: 我想拥有一个更复杂的表

  • 问题内容: 是否有任何方法可以接收2个JSON对象并将其进行比较以查看是否有任何数据已更改? 编辑 在审查评论之后,需要进行一些澄清。 JSON对象定义为 “一组无序的名称/值对。一个对象以{(左括号)开始,以}(右括号)结束。每个名称后面都带有:(冒号),名称/值对之间以,(逗号)分隔。 ”。- json.org 我的目标是能够简单地比较2个JSON对象文字。 我不是javascript专家,所

  • 我必须比较两个list(清单1到清单2)上的元素,当这些元素与code属性的元素匹配时,我必须替换为tobereplace属性的值。 在清单1中,我有 在清单2中,我有: 理想情况下,List1应该具有list2的值;我们如何使用Java8流来实现这一点