0
다른 열을 그룹화하는 동안 한 열을 합산하려고합니다. 일관되게 SQL은
두 줄로 구분됩니다.
금액을 합산 동안그룹화 및 집계 SQL
Select A.client, A.store, A.Type as 'Ticket Type', A.[bizdate] as 'DATE',
sum(cast(round(c.[Amount2],2) as decimal (20,0))) 'QTY', c.SKU, c.[DESC],
sum(cast(round(c.[Amount1],2)as decimal(20,2))) as 'Total'
From Mydatabase A inner join mydatabase.dbo.TicketHeader B on A.
[ticket] = b.[ticket] and a.[yyyymmdd] = b.[yyyymmdd]
inner join mydatabase.dbo.ticketdetail C on C.[ticketheaderid] =
b.[id] and c.[class] = a.[class]
where
A.Store = @store
and a.yyyymmdd = @yyyymmdd
and c.class <> 'balance'
and c.Subtype <> 'cancelled'
and a.type NOT IN
('SKU','Total','CASH','CHANGE','NA','TAX1','TAX2','TAX3','TAX4','CHARGE',
'Delivery Service', 'Tip')
and c.[DESC] <> 'NA'
and c.sku = '300129'
group by c.sku, c.[DESC],a.store, a.type, a.bizdate, a.client, c.[Amount2],
c.[Amount1]
order by [ticket type]
client, Store TicketType date qty SKU Description Amount
1 2404 CURBSIDE/TO GO 20170214 1 300129 Beef TACO 2.00
1 2404 DINE IN 20170214 1 300129 Beef TACO 2.00
1 2404 DINE IN 20170214 2 300129 Beef TACO 4.00
1 2404 FOODSBY 20170214 2 300129 Beef TACO 4.00
내가 한 줄에 그룹에 쇠고기 TACO에서 식사를 시도하고있다 : 다음
내 스크립트와 내 결과입니다.
그룹에서 Amount1과 Amount2를 가져옵니다. 당신은 집단으로 그들을 사용하여 귀하의 집합으로, 비생산적입니다. –
왜 왜 날짜를 정수 또는 varchar로 저장하고 있습니까? –
내가 풀어 냈을 때 그룹에 있어야한다고합니다. varchar로 날짜를 저장하는 것은 아마도 내 문제일까요? –