我要尝试合并两个几乎相同的数据集,但是我只想在文件1中没有日期的情况下合并它们。
数据集1
文件 | 日期 | 类型 |
---|---|---|
1个 | 2020年1月1日 | 一种 |
1个 | 2020年1月2日 | b |
1个 | 1/3/2020 | C |
数据集2
文件 | 日期 | 类型 |
---|---|---|
2 | 2020年1月1日 | 一种 |
2 | 2020年1月2日 | b |
2 | 1/3/2020 | C |
2 | 1/4/2020 | d |
理想输出
文件 | 日期 | 类型 |
---|---|---|
1个 | 2020年1月1日 | 一种 |
1个 | 2020年1月2日 | b |
1个 | 1/3/2020 | C |
2 | 1/4/2020 | d |
如果两个数据集具有相同的日期,那么我只想使用文件#1中的数据
SELECT FILE, DATE, TYPE FROM TABLE A
UNION
SELECT FILE, DATE, TYPE FROM TABLE B
您可以使用union all
具有not exists
如下:
SELECT DISTINCT FILE, DATE, TYPE FROM TABLEA
UNION
SELECT DISTINCT FILE, DATE, TYPE FROM TABLEB B
WHERE NOT EXISTS
(SELECT 1 FROM TABLEA A
WHERE A.DATE = B.DATE
AND A.TYPE = B.TYPE)
注意:我曾经distinct
使逻辑类似于联合,因为它删除了重复项。distinct
如果各个表中没有重复项,则可以从查询中删除。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句