Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x
?
Solved

SQL SUM - producing wrong results

Posted on 2014-03-05
4
Medium Priority
?
948 Views
Last Modified: 2014-03-05
Hi

Please look at the queries here
sum
You will see the first results which show the correct results

What I'm trying to do is group the results by days, and give an overall sum for each column
however, i'm getting all -1 results and then werid results for [23-00] column

i'll actually be selecting lots of machines (removing the MachineId=160 bit)
and selecting over a 14 day period, but removed for simplicity

what am i doing wrong
0
Comment
Question by:websss
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
  • 2
4 Comments
 
LVL 11

Expert Comment

by:John_Vidmar
ID: 39906188
Your column-names have special characters and do not start with a letter, therefore, you must enclose them in an object-delimiter (like brackets, or double-quotes).

This:  sum(06-07) as [06-07]

should be:  sum([06-07]) as [06-07]
0
 

Author Comment

by:websss
ID: 39906255
I now get

Msg 8117, Level 16, State 1, Line 4
Operand data type bit is invalid for sum operator.
0
 
LVL 11

Accepted Solution

by:
John_Vidmar earned 2000 total points
ID: 39906271
If aggregate-functions do not work on bit-operands then cast them to integer:

sum( cast([06-07] as integer) ) as [06-07]
0
 

Author Comment

by:websss
ID: 39906277
actually

this worked
Select  BranchId,datename(dw,ReportedDate)ReportedDate,
sum(CONVERT(INT,[06-07])) as [06-07], sum(CONVERT(INT,[07-08])) as [07-08], sum(CONVERT(INT,[08-09])) as [08-09],sum(CONVERT(INT,[09-10])) as [09-10],sum(CONVERT(INT,[10-11])) as [10-11],sum(CONVERT(INT,[11-12])) as [11-12],sum(CONVERT(INT,[12-13])) as [12-13],
sum(CONVERT(INT,[13-14])) as [13-14],sum(CONVERT(INT,[14-15])) as [14-15],sum(CONVERT(INT,[15-16])) as [15-16],sum(CONVERT(INT,[16-17])) as [16-17],sum(CONVERT(INT,[17-18])) as [17-18],sum(CONVERT(INT,[18-19])) as [19-20],sum(CONVERT(INT,[20-21])) as [20-21],
sum(CONVERT(INT,[21-22])) as [21-22],sum(CONVERT(INT,[22-23])) as [22-23],sum(CONVERT(INT,[23-00])) as [23-00],sum(CONVERT(INT,[00-01])) as [00-01],sum(CONVERT(INT,[01-02])) as [01-02],sum(CONVERT(INT,[02-03])) as [02-03],sum(CONVERT(INT,[02-03])) as [02-03],
sum(CONVERT(INT,[03-04])) as [03-04],sum(CONVERT(INT,[04-05])) as [04-05],sum(CONVERT(INT,[05-06])) as [05-06], MachineType 
From [UsageLogs]
WHERE BranchId = 51 AND MachineType = 1  and MachineType = 1 and MachineId = 160
group by BranchId, MachineType ,datename(dw,ReportedDate)

Open in new window

0

Featured Post

Veeam Disaster Recovery in Microsoft Azure

Veeam PN for Microsoft Azure is a FREE solution designed to simplify and automate the setup of a DR site in Microsoft Azure using lightweight software-defined networking. It reduces the complexity of VPN deployments and is designed for businesses of ALL sizes.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

In this article we will learn how to fix  “Cannot install SQL Server 2014 Service Pack 2: Unable to install windows installer msi file” error ?
Recently we ran in to an issue while running some SQL jobs where we were trying to process the cubes.  We got an error saying failure stating 'NT SERVICE\SQLSERVERAGENT does not have access to Analysis Services. So this is a way to automate that wit…
Using examples as well as descriptions, and references to Books Online, show the documentation available for date manipulation functions and by using a select few of these functions, show how date based data can be manipulated with these functions.
Via a live example, show how to shrink a transaction log file down to a reasonable size.

704 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question