我如何在UNION中获得唯一记录,其中UNION的一列为空?

时间:2018-07-26 07:27:57

标签: sql union

我在登台表中每天获取产品的供稿。我想使用登台表中的记录更新实际表。

在这里查询。

SELECT NUll, ColumnA, ColumnB FROM stagingTable
UNION
SELECT ID, ColumnA, ColumnB From actualTable

这给了我

NULL 10  100
NULL 20  200
NULL 30  300
1    10  100

我想删除重复的记录,因为该记录已在实际表中。

NULL 10 100

2 个答案:

答案 0 :(得分:1)

我只会使用not exists

SELECT ID, ColumnA, ColumnB From actualTable
UNION ALL
SELECT NUll, s.ColumnA, s.ColumnB
FROM stagingTable s
WHERE EXISTS (SELECT 1 FROM actualTable t WHERE t.columnA = s.columnA);

答案 1 :(得分:0)

我将与第一个答案稍有不同,并在登台表中使用子查询:

function myFunction() {
  var num = 2000000.00;

   var c = num.toLocaleString();
   var substr = c.split('.');
   var decimal = substr[1];
   var intVal= substr[0];

   var n = intVal.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
   //var number=n.
   var number = n+ decimal;
   document.getElementById("demo").innerHTML = n;
   document.getElementById("demmo").innerHTML = number;
}