Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql SQL查询,基于4列的重复检查_Mysql - Fatal编程技术网

Mysql SQL查询,基于4列的重复检查

Mysql SQL查询,基于4列的重复检查,mysql,Mysql,我们有一个表,其中有大多数货币的汇率信息,每个月都会向表中添加新汇率 大多数情况下,汇率信息彼此重复,如下所示: 我们的程序之一是提取信息,将其放入另一个系统。但是,该系统会检查是否存在重复值,如上面的示例所示。根据第1列、第2列和从\u日期到\u日期,有一个重复项 我创建了以下查询: SELECT DISTINCT CASE WHEN t1.FROM_CUR<>(CASE WHEN t1.FROM_CUR<t1.TO_CUR THEN t1.FROM_CUR ELSE t1

我们有一个表,其中有大多数货币的汇率信息,每个月都会向表中添加新汇率

大多数情况下,汇率信息彼此重复,如下所示:

我们的程序之一是提取信息,将其放入另一个系统。但是,该系统会检查是否存在重复值,如上面的示例所示。根据第1列、第2列和从\u日期到\u日期,有一个重复项

我创建了以下查询:

SELECT DISTINCT
CASE WHEN t1.FROM_CUR<>(CASE WHEN t1.FROM_CUR<t1.TO_CUR THEN t1.FROM_CUR ELSE t1.TO_CUR end) THEN 'wrong register' else 'ok register' end as clase
, t1.FROM_CUR, t1.TO_CUR, 
CAST(t1.EX_RATE as Date) AS FROM_DATE, 
CAST(DATEADD(day,-1,DATEADD( month, 1, t1.EX_RATE)) as Date) as TO_DATE, 'Corporate' as CORPORATE, t1.EXCH_RATE 

FROM EXCH_RATE t1
JOIN EXCH_RATE t2
ON t1.FROM_CUR = t2.TO_CURAND t1.TO_CUR = t2.FROM_CUR and t1.EX_RATE <> t2.EX_RATE
选择DISTINCT

当t1.FROM_CUR时的CASE(当t1.FROM_CUR时的CASE使用CASE WHEN并使单个名称和用法不同

   select distinct case when from_cur in('usd','euro') then 'usd' end as from_cur,
    case when to_cur in('usd','euro') then 'euro' end as To_cur,from_Date,to_date,rate from t

如果您的FROM CUR、TO CUR、FROM CUR DATE、TO_DATE相同,您如何知道使用哪种汇率?快速问题。基于FROM CUR
和FROM CUR的
和TO CUR
,示例数据不同。第一个从欧元转换为美元,第二个从美元转换为欧元。当前1EURO为1.16USD。1USD为0.86欧元?如果您在字段
上的表格(从当前、到当前、从日期、到日期)
,并将加载脚本更改为
INSERT IGNORE
,这样您就不会有重复的结果。您的不同结果集是什么?@danblack不管是哪一个,只添加欧元->美元也会在我们的目标系统中创建美元-欧元的反向汇率。在我们的源表中,一种货币对另一种货币的汇率如果我们反转汇率也是一样的。不幸的是,我无法修改该表(出于安全原因)。我们有30多种货币,我不知道如何将它们全部添加到该解决方案中。@Realbunny将所有样本数据和所需内容作为输出,否则很难指导