2016-04-05 15 views
1

Bu Q'nun nasıl ekleneceğinden emin değilsiniz. Temel olarak, BookHeads'ı BookedMonth yılını toplayan AvailableHoursForYear sütunu eklemek istiyorum.Tarih sütununun yıllara eşit olduğu sütun satırı - SQL

BookedMonth   AvailableHours 
2014-10-01 00:00:00 120 
2015-01-01 00:00:00 90 
2015-02-01 00:00:00 150 

bu benim tek veri olduğunu varsayarsak, ben masa Herhangi bir yardım mutluluk duyacağız

BookedMonth    AvailableHours  AvailableHoursForYear 
2014-10-01 00:00:00  120    120 
2015-01-01 00:00:00  90     240 
2015-02-01 00:00:00  150    240 

okumak istiyorum.

Teşekkür

cevap

3

Bunun için SUM OVER kullanabilirsiniz: OVER maddesi ile kullanıldığında

SELECT BookedMonth, AvailableHours, 
     SUM(AvailableHours) OVER (PARTITION BY YEAR(BookedMonth)) AS AvailableHoursForYear 
FROM mytable 

SUM, OVER görüşleri tarafından tanımlanan kayıtların bir pencere üzerinden uygulanmaktadır: bu SUM numaralı belge, BookedMonth'un yıllık AvailableHours toplamını döndürür.

+0

Parlak, daha önce hiç duymamıştım. Harika çalışıyor, Ty !! –

+0

@LeeS Glad Yardım edebiliyordum. Lütfen sorununuzu çözmenize yardımcı olması durumunda, bunu veya başka bir şekilde kabul ettiğinizi onaylayın. –

+0

İkinci bir koşul ekleyebilir misiniz? TYPE denen başka bir sütunun olduğunu söyleyelim. Ve ben TYPE = 1 –

İlgili konular