0

在 SQL DB 中,我有两个要比较的表,以查找和显示 Tableau 中的更改。

原始数据

Column names:
ID, 
Category, 
Company, 
Description, 
Update frequency #, 
Time since last update [hours], 
Measurement (hours/min)

原始样本数据

ACC-1-Nike, ACC, Nike, shoes with acc, 12, 3, hours

New_data 列名:

ID, 
Category, 
Company, 
Description, 
Update frequency #, 
Time since last update [hours],
Measurement (hours/min)

新样本数据

ACC-1-Nike, ACC, Nike, shoes made of wood, 12, 3, hours

我一直在尝试创建一个包含三列的新表:

Column 1: Name of all the columns (to be compared)
Column 2: Original_Data_value
Column 3: New_Data_Value

我想要实现的输出

----------------------------------------------------
| Column Names    |   Org_Value     | New_Value    |
----------------------------------------------------
|   ID            | ACC-1-NIKE      | ACC-1-NIKE   |
----------------------------------------------------
|   Category      | ACC             | ACC          |
----------------------------------------------------
|   Description   | shoes with acc  | shoes made of wood|
----------------------------------------------------
| Update frequency| 12              | 12           |
----------------------------------------------------

我希望新表显示原始数据和新数据的值不匹配的位置。我该如何做到这一点?目的是比较原始值和新值,以便能够识别从原始值到新值的变化。

我一直在尝试使用“Union all”和“Cross join”,但非常欢迎任何建议。

非常感谢您的宝贵时间。

4

1 回答 1

0

要查找所有已更改的原始元组:

SELECT [columns you want to compare] FROM Original_data 
--FROM New_data - if you want the new data tuples
EXCEPT
(
SELECT [columns you want to compare] FROM Original_data 
INTERSECT 
SELECT [columns you want to compare] FROM New_data
)

您现在可以加入这些表并逐列比较以获取“新数据”...

问候

于 2013-11-25T15:22:20.073 回答