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,
&
相关文档:
一、sql语句的执行步骤:
1)语法分析,分析语句的语法是否符合规范,衡量语句中各表达式的意义。
2) 语义分析,检查语句中涉及的所有数据库对象是否存在,且用户有相应的权限。
3)视图转换,将涉及视图的查询语句转换为相应的对基表查询语句。
4)表达式转换, 将复杂的 SQL 表达式转换为较简单的等效连接表达式 ......
在程序中,数据库操作是必不可少的部分,所以我们要备足数据库相关知识才能去应付程序中出现的种种问题。基于此,我特地在国外网站、博客上整理了一些问题,并附带了答案和解释、参考。为了保证“原汁原味”,我就保留了英文。大家也来看看你答对了多少?
1.SQL Server 2008 Backup
题目:Is it possible to re ......
Transact SQL 语 句 功 能
========================================================================
--数据操作
SELECT --从数据库表中检索数据行和列
INSERT --向数据库表添加新数据行
DELETE --从数据库表中删除数据行
UPDATE --更新数据库表中的数据 ......
一、使用证书实现主备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; ......