SQL数据记录集重复的问题
调试SQL数据,发现数据记录集重复问题,所以,计算出的数据结果倍数问题。通过调试SQL,发现是物料的分类产生重复;之所以产生重复,物料的分类标准不一样,与实际的业务有关。程序中一直用类别来区分类别,而这张次实际业务不需要与类别有关,所以,没有对应的过滤条件,所有的类别全部选出来了。然后,把下面的红色字段注释掉,结果正确。这个问题与之前的union all 或 distinct 有点类似。所以,谨慎而正确的使用,一定要认真的分析业务,只有正确的理解实际的业务需求,才能写出正确的SQL语句。甚至左连接,右连接或内连接,都是与业务有关的。
/*dialect*/
select nvl(sum(nvl(tcta.fcznum, 0)), 0) superadditionCount,
nvl(sum(nvl(tcta.fczmoney, 0)), 0) superadditionMoney,
nvl(sum(nvl(tcta.fczresetnum, 0)), 0) superadditionReenabledCount,
nvl(sum(nvl(tcta.fczresetmoney, 0)), 0) superadditionReenabledMoney,
nvl(sum(nvl(tcta.fczdiffmoney, 0)), 0) superadditionDifferenceCount
from
t_cus_thkentrys2 tcta
inner join t_cus_thk tct on tcta.fparentid = tct.fid
left join ( /*dialect*/
select distinct
tbc.fid id,
tbcg.fid bid,
tbcg.fnumber businessType,
tbcg.fname_l2 businessName,
tbcs.fnumber classificationStandardCoding,
&
相关文档:
最近在做一个数据统计,要求对一个表中的数据按照两个维度呈现,也就是传统的交叉表
比如,有一个问题表,有三个字段,(标题、问题类别、问题状态)
要求按照不同的类别,分别统计处各个状态的问题数量(如:产品问题中未处理的数量、服务问题中遗留问题数量等等)。
经过查找和尝试,终于生成了结果,现在分享给大家。 ......
create table Student(Sname varchar(10),Ssex varchar(5),Sage int,S# int)
insert into Student
select '夏亮','男','21','1004'
select '成平','男','20','1001' union all
select '王波','男','19','1002' union all
select '突然','女','19','1003'
create table Course(C# varchar(10),Cname v ......
......
SQL语句先前写的时候,很容易把一些特殊的用法忘记,我特此整理了一下SQL语句操作。
一、基础
1、说明:创建数据库
CREATE DATABASE database-name
2、说明:删除数据库
drop database dbname
3、说明:备份sql server
--- 创建 备份数据的 device
USE master
EXEC sp_addumpdevice 'd ......
一、使用证书实现主备SQL Server实例的互通
1.在主机和备机上分别创建证书
在主机上执行如下语句:
USE master;
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'abcdefg';
CREATE CERTIFICATE CERT_HOST_A WITH SUBJECT = 'HOST_A certificate' ,
START_DATE = '01/01/2010';
GO
在备机上执行如下语句:
USE master; ......