sql 数据处理时join字段慎重选择--避免出现double数据!
前几天做BI Tabular表格模型的时候,数据中心核对数据发现模型展现数据比实际数据要多,经过核查之后,发现原来我是一个不经意,在做数据选取的时候,inner join的字段CITY_NAME_CN选取错误。
首先对比事实表和我数据源选取的数据量差异:正常(8080945条记录)
- SELECT
- count(YYYYMMDD)
- FROM [DM_ACCN_T1].[dbo].[FS_MS_GFK] --
我的数据源sql:选取(8110909条记录)
- SELECT [GUID]
- ,[YYYYMMDD]
- ,[BRAND]
- ,[BRAND_GROUP]
- ,[MODEL]
- ,[CHANNEL]
- ,[SALES_UNIT]
- ,[SALES_VALUE]
- ,[PC_TYPE]
- ,[DESIGN]
- ,[PROCESSOR_BRAND]
- ,[PROCESSOR]
- ,[PROCESSOR_NUMBE]
- ,[STORAGE_CAPAC]
- ,[RAM_MB]
- ,[DVD_WRITER]
- ,[SIZE_INCH]
- ,[GPU_BRAND]
- ,[GPU_MODEL]
- ,[ONBOARD_GRAPHIC]
- ,[V_RAM]
- ,[OS_PLANTFORM]
- ,[MICROSOFT_OS]
- ,[CATEGORIES]
- ,[PPC_PRICE_BRAND]
- ,[DPC_PRICE_BRAND]
- ,a.[CITY_NAME_CN]
- ,a.[CITY_NAME_EN]
- ,ISNULL(b.CITY_CODE,0)AS CITY_CODE
- ,[BU_GROUP_CODE]
- ,A.CITY_FULL_NAME_CN
- ,B.CITY_FULL_NAME
- ,Form_Factor
- ,CITY_GROUP
- FROM [DM_ACCN_T1].[dbo].[FS_MS_GFK] A
- LEFT JOIN [DM_ACCN_T1].[dbo].[CB_GEOGRAPHY] B ON A.CITY_NAME_CN=B.CITY_NAME_CN
- SELECT
- count([YYYYMMDD])
- FROM [DM_ACCN_T1].[dbo].[FS_MS_GFK] A
- LEFT JOIN [DM_ACCN_T1].[dbo].[CB_GEOGRAPHY] B ON A.CITY_NAME_CN=B.CITY_NAME_CN
由此可见,问题出在我的事实表A join 维度表B 的时候出现问题,出现了一对多的问题。
首先,我要查一下维表CB_GEOGRAPHY对于字段CITY_NAME_CN(乡镇名称)是不是有重复,
- SELECT a.CITY_NAME_CN,count(1)as num
- FROM [DM_ACCN_T1].[dbo].[CB_GEOGRAPHY] a
- --where a.CITY_NAME_CN=N'九江'
- group by a.CITY_NAME_CN having count(1)>1
aaarticlea/png;base64,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" alt="" />
想一下很容易理解,地理维度表中,不同地区的乡镇名可能出现重名。所以特设了一个CITY_FULL_NAME的字段。那么join之后究竟是哪些字段出现了重复呢,
- SELECT b.CITY_FULL_NAME_CN,B.CITY_NAME_CN FROM [DM_ACCN_T1].[dbo].[FS_MS_GFK] B inner join
- (SELECT a.CITY_NAME_CN,count(1)as num
- FROM [DM_ACCN_T1].[dbo].[CB_GEOGRAPHY] a
- --where a.CITY_NAME_CN=N'九江'
- group by a.CITY_NAME_CN having count(1)>1 )aa ON aa.CITY_NAME_CN=B.CITY_NAME_CN
aaarticlea/png;base64,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" alt="" />
发现这些记录数为:29964,而且全是出在'九江'这个地方,8080945-8110909=-29964,BINGO!
故:出现了一对多的情况,join之后出现了DOUBLE的数据,
- SELECT
- A.CITY_FULL_NAME_CN
- ,B.CITY_FULL_NAME
- ,A.CITY_NAME_CN
- ,B.CITY_NAME_CN
- FROM [DM_ACCN_T1].[dbo].[FS_MS_GFK] A
- inner JOIN [DM_ACCN_T1].[dbo].[CB_GEOGRAPHY] B ON A.CITY_NAME_CN=B.CITY_NAME_CN
- where b.CITY_NAME_CN=N'九江' --
- SELECT
- A.CITY_FULL_NAME_CN
- ,B.CITY_FULL_NAME
- ,A.CITY_NAME_CN
- ,B.CITY_NAME_CN
- FROM [DM_ACCN_T1].[dbo].[FS_MS_GFK] A
- LEFT JOIN [DM_ACCN_T1].[dbo].[CB_GEOGRAPHY] B ON A.CITY_FULL_NAME_CN=B.CITY_FULL_NAME
- where b.CITY_NAME_CN=N'九江' ----29964
修改之后,LEFT JOIN [DM_ACCN_T1].[dbo].[CB_GEOGRAPHY] B ON A.CITY_FULL_NAME_CN=B.CITY_FULL_NAME,okay!
- SELECT [GUID]
- ,[YYYYMMDD]
- ,[BRAND]
- ,[BRAND_GROUP]
- ,[MODEL]
- ,[CHANNEL]
- ,CASE [CHANNEL]WHEN 'NON-ITS'THEN'3C'WHEN 'INTERNET B2C'THEN'NC'WHEN 'ASSB'THEN'TC'WHEN 'CS'THEN'TC'ELSE'TC' END AS CHANNEL_TYPE_CODE
- ,[SALES_UNIT]
- ,[SALES_VALUE]
- ,[PC_TYPE]
- ,[DESIGN]
- ,[PROCESSOR_BRAND]
- ,[PROCESSOR]
- ,[PROCESSOR_NUMBE]
- ,[STORAGE_CAPAC]
- ,[RAM_MB]
- ,[DVD_WRITER]
- ,[SIZE_INCH]
- ,[GPU_BRAND]
- ,[GPU_MODEL]
- ,[ONBOARD_GRAPHIC]
- ,[V_RAM]
- ,[OS_PLANTFORM]
- ,[MICROSOFT_OS]
- ,[CATEGORIES]
- ,[PPC_PRICE_BRAND]
- ,[DPC_PRICE_BRAND]
- ,a.[CITY_NAME_CN]
- ,a.[CITY_NAME_EN]
- ,ISNULL(b.CITY_CODE,0)AS CITY_CODE
- ,[BU_GROUP_CODE]
- ,A.[CITY_FULL_NAME_CN]
- ,Form_Factor
- ,isnull(CITY_GROUP,'')as CITY_GROUP
- FROM [DM_ACCN_T1].[dbo].[FS_MS_GFK] A
- LEFT JOIN [DM_ACCN_T1].[dbo].[CB_GEOGRAPHY] B ON A.CITY_FULL_NAME_CN=B.CITY_FULL_NAME
sql 数据处理时join字段慎重选择--避免出现double数据!的更多相关文章
- oracle中使用sql查询时字段为空则赋值默认
转至:http://www.th7.cn/db/Oracle/201501/86125.shtml oracle 通过 nvl( )函数sql 查询时为 空值 赋默认值 oracle 函数介绍之nvl ...
- sql之left join、right join、inner join的区别,连接自己时的查询结果测试
sql之left join.right join.inner join的区别 left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录 right join(右联接) 返回包括 ...
- PowerDesigner PDM生成sql脚本时:表的名称和表里面的字段名称都有引号解决。。。
PowerDesigner PDM生成sql脚本时:表的名称和表里面的字段名称都有引号解决... 1.当你的PowerDesigner 是新安装时,你得设置可能就会出现一些问题,在这里比如:PDM生成 ...
- SQL语句更新时间字段的年份、月份、天数、时、分、秒
SQL语句更新时间字段的年份.月份.天数.时.分.秒 --修改d表日期字段的年份update dset birth=STUFF(convert(nvarchar(23),birth,120),1,4, ...
- NANDflash和NORflash的区别(设计师在使用闪存时需要慎重选择)
NANDflash和NORflash的区别(设计师在使用闪存时需要慎重选择) NOR和NAND是现在市场上两种主要的非易失闪存技术.Intel于1988年首先开发出NOR flash技术,彻底 ...
- PL/SQL Developer中输入SQL语句时如何自动提示字段
在PL/SQL Developer中编写sql语句时,如果无法自动提示字段那是一件痛苦的事情,工作效率又低,在此演示下如何在PL/SQL Developer工具中自动提示字段,让开发者省时又省心,操作 ...
- [慢查优化]建索引时注意字段选择性 & 范围查询注意组合索引的字段顺序
文章转自:http://www.cnblogs.com/zhengyun_ustc/p/slowquery2.html 写在前面的话: 之前曾说过"不要求每个人一定理解 联表查询(join/ ...
- SQL查询优化 LEFT JOIN和INNER JOIN
作者:VerySky 推荐:陈敬(Cathy) SQL查询优化 LEFT JOIN和INNER JOIN 1,连接了八个数据库表,而且全部使用LEFT JOIN,如下所示: Resource_Reso ...
- 0104探究MySQL优化器对索引和JOIN顺序的选择
转自http://www.jb51.net/article/67007.htm,感谢博主 本文通过一个案例来看看MySQL优化器如何选择索引和JOIN顺序.表结构和数据准备参考本文最后部分" ...
随机推荐
- C# 生成txt日志文件
/// <summary> /// 创建日志文件,每天一个 /// </summary> /// <param name="logContent"&g ...
- WIN10从2016.11开始就强制驱动必须要求经过WHQL认证,而2015的win10就没有问题
http://www.whqlchina.com/whql-news/whql-following/ https://www.zhihu.com/question/45586031 https://a ...
- C语言实现的CRC16/CCITT-FALSE校验码函数
要求:输入字符串“00 AA FF CC AA 01 00” 得到校验码“79B1” 方法1: // ConsoleApplication1.cpp: 定义控制台应用程序的入口点. // #inclu ...
- INS-13001—win10系统安装oracle11g时遇到INS-13001环境不满足最低要求
升级win10系统之后,需要重新安装Oracle,因为在安装Oralce11g时,使用64位的会出现各种不兼容问题,我每次安装都是使用32位的数据库. 在安装时点击setup.exe之后,出现了:[I ...
- Delphi检测用户是否具有administrator权限(OpenThreadToken,OpenProcessToken,GetTokenInformation,AllocateAndInitializeSid和EqualSid)
检测用户是否具有administrator权限const SECURITY_NT_AUTHORITY: TSIDIdentifierAuthority = (Value: (0, 0, 0, 0, 0 ...
- 15 款 jQuery 社交分享插件
过去几年中社交媒体越来越流行了,能够分享音乐.视频.图像甚至是其他的 docs 文档到互联网上去,这样子还能够提高页面的点击量.通常,一些社交媒体插件都能允许你的用户分享你网站上的内容到其他的社交平台 ...
- WCF研究-后篇
最后就对之前的资料进行整理以及在其他博客园的朋友那看到的资料稍微分享一下,这样有助于学习和使用WCF的朋友更好的学习和理解WCF 后期要是看到合适的资料也会再次编辑这个后篇,让我共同进步! 后篇 1. ...
- ring3下利用WMI监视进程创建(vc版)
#include "stdafx.h" #define _WIN32_DCOM #include <iostream> using namespace std; #in ...
- Oracle 裁掉北京研发团队,相应职位撤回美国(收购了NetSuite,LogFire,Dyn)
根据中国日报报道,2017年1月14日上午9点09分,甲骨文北京研发团队的同事收到了来自BU老大的一封邮件.邮件上提及,由于市场变化,甲骨文开始整合各研发中心资源公司在云计算方向发力,文末单独提出了甲 ...
- 长江存储32层3D NAND今年底准备好,预计2020年赶上世界前沿(有些ppt很精彩)
集微网消息(文/刘洋)2017年1月14日,首届IC咖啡国际智慧科技产业峰会暨ICTech Summit 2017在上海隆重举行.本次峰会以“匠心独运 卓越创‘芯’”为主题,集结了ICT产业领袖与行业 ...