logo
Welcome Guest! To enable all features please Giriş or Kayıt.

Bildirim

Icon
Error

Ayarlar
Son mesaja git Go to first unread
maytas  
#1 Gönderildi : 7 Aralık 2014 Pazar 14:23:53(UTC)
maytas

Sıralama: Advanced Member

Gruplar: Registered
Katılan: 24.11.2014(UTC)
Mesajlar: 34
Turkey

5 Kere Teşekkür Etti.
2 Mesajına Toplam 2 Kere Teşekkür Edildi.
Merhaba,

Kod:
USE AdventureWorks2012
GO
SELECT CustomerID, OrderDate, SubTotal, TotalDue
FROM Sales.SalesOrderHeader
WHERE SalesPersonID = 275
ORDER BY OrderDate  
COMPUTE SUM(TotalDue);


Bu kod bloğu çalıştığında aşağıdaki hata iletisini veriyor. Neden acaba?
Not: Sql Server 2014 Express kullanıyorum

Msg 156, Level 15, State 1, Line 7
Incorrect syntax near the keyword 'COMPUTE'.

Düzenle Kullanıcı Tarafından 7 Aralık 2014 Pazar 14:25:35(UTC)  | Sebep: Sebep Bildirilmesi

mehmetzekikir  
#2 Gönderildi : 7 Aralık 2014 Pazar 15:46:20(UTC)
mehmetzekikir

Sıralama: Administration

Gruplar: Administrators
Katılan: 6.05.2014(UTC)
Mesajlar: 670

19 Kere Teşekkür Etti.
152 Mesajına Toplam 253 Kere Teşekkür Edildi.
Originally Posted by: maytas Go to Quoted Post
Merhaba,

Kod:
USE AdventureWorks2012
GO
SELECT CustomerID, OrderDate, SubTotal, TotalDue
FROM Sales.SalesOrderHeader
WHERE SalesPersonID = 275
ORDER BY OrderDate  
COMPUTE SUM(TotalDue);


Bu kod bloğu çalıştığında aşağıdaki hata iletisini veriyor. Neden acaba?
Not: Sql Server 2014 Express kullanıyorum

Msg 156, Level 15, State 1, Line 7
Incorrect syntax near the keyword 'COMPUTE'.


Sql Server 2012 ile beraber Compute komutu artık kullanılmıyor
Sql Server 2016 Eğitimiz 19 Mayıs tarihinde başlayacaktır. 32 Saat Olup Ücret 1450 TL + KDV'dir. Kayıt ve ayrıntılar için tıklayınız

twitter.com/dbakademi
Dua ve teşekkür en büyük servetlere bedel...
maytas  
#3 Gönderildi : 7 Aralık 2014 Pazar 16:30:30(UTC)
maytas

Sıralama: Advanced Member

Gruplar: Registered
Katılan: 24.11.2014(UTC)
Mesajlar: 34
Turkey

5 Kere Teşekkür Etti.
2 Mesajına Toplam 2 Kere Teşekkür Edildi.
Originally Posted by: mehmetzekikir Go to Quoted Post
Originally Posted by: maytas Go to Quoted Post
Merhaba,

Kod:
USE AdventureWorks2012
GO
SELECT CustomerID, OrderDate, SubTotal, TotalDue
FROM Sales.SalesOrderHeader
WHERE SalesPersonID = 275
ORDER BY OrderDate  
COMPUTE SUM(TotalDue);


Bu kod bloğu çalıştığında aşağıdaki hata iletisini veriyor. Neden acaba?
Not: Sql Server 2014 Express kullanıyorum

Msg 156, Level 15, State 1, Line 7
Incorrect syntax near the keyword 'COMPUTE'.


Sql Server 2012 ile beraber Compute komutu artık kullanılmıyor


Aynen, Mehmet Hoca.
Ecnebilerin sitelerinde dolaşırken benim de gözüme böyle bir mesaj takıldı.
COMPUTE yerine ROLLUP kullanılabilir diye.
Bende kurulu 2 ayrı SQL Server versiyonu var - 2008 ve 2014.
Sonradan farkettim 2008'de çalışıyor, ama 2014'de COMPUTE komutunu tanımıyor.
Kodu da aşağıdaki gibi değiştirip ROLLUP komutunu dahil ettim:

Kod:
USE AdventureWorks2012
GO
SELECT OrderDate, SUM(SubTotal) AS SubTotal, SUM(TotalDue) AS TotalDue
FROM Sales.SalesOrderHeader
WHERE SalesPersonID = 275
GROUP BY ROLLUP(OrderDate)


Aslında bu kodlar ROLLUP komutu olmadan da çalışıyor ve ayni sonucu veriyor.
Benim gördüğüm tek fark Rollup kullanılınca NULL değerleri de gruplandırarak toplamını veriyor. Başka bir farkı varsa da ben bilmiyorum.


mehmetzekikir  
#4 Gönderildi : 7 Aralık 2014 Pazar 17:33:33(UTC)
mehmetzekikir

Sıralama: Administration

Gruplar: Administrators
Katılan: 6.05.2014(UTC)
Mesajlar: 670

19 Kere Teşekkür Etti.
152 Mesajına Toplam 253 Kere Teşekkür Edildi.
Originally Posted by: maytas Go to Quoted Post
Originally Posted by: mehmetzekikir Go to Quoted Post
Originally Posted by: maytas Go to Quoted Post
Merhaba,

Kod:
USE AdventureWorks2012
GO
SELECT CustomerID, OrderDate, SubTotal, TotalDue
FROM Sales.SalesOrderHeader
WHERE SalesPersonID = 275
ORDER BY OrderDate  
COMPUTE SUM(TotalDue);


Bu kod bloğu çalıştığında aşağıdaki hata iletisini veriyor. Neden acaba?
Not: Sql Server 2014 Express kullanıyorum

Msg 156, Level 15, State 1, Line 7
Incorrect syntax near the keyword 'COMPUTE'.


Sql Server 2012 ile beraber Compute komutu artık kullanılmıyor


Aynen, Mehmet Hoca.
Ecnebilerin sitelerinde dolaşırken benim de gözüme böyle bir mesaj takıldı.
COMPUTE yerine ROLLUP kullanılabilir diye.
Bende kurulu 2 ayrı SQL Server versiyonu var - 2008 ve 2014.
Sonradan farkettim 2008'de çalışıyor, ama 2014'de COMPUTE komutunu tanımıyor.
Kodu da aşağıdaki gibi değiştirip ROLLUP komutunu dahil ettim:

Kod:
USE AdventureWorks2012
GO
SELECT OrderDate, SUM(SubTotal) AS SubTotal, SUM(TotalDue) AS TotalDue
FROM Sales.SalesOrderHeader
WHERE SalesPersonID = 275
GROUP BY ROLLUP(OrderDate)


Aslında bu kodlar ROLLUP komutu olmadan da çalışıyor ve ayni sonucu veriyor.
Benim gördüğüm tek fark Rollup kullanılınca NULL değerleri de gruplandırarak toplamını veriyor. Başka bir farkı varsa da ben bilmiyorum.




Aynen hocam o yüzden onada gerek yok direk group by yap gitsin
Sql Server 2016 Eğitimiz 19 Mayıs tarihinde başlayacaktır. 32 Saat Olup Ücret 1450 TL + KDV'dir. Kayıt ve ayrıntılar için tıklayınız

twitter.com/dbakademi
Dua ve teşekkür en büyük servetlere bedel...


Bu konudaki kullanıcılar
Guest (3)
Forumu Atla  
Bu foruma yeni konular postalayamazsınız.
Bu forumda ki konulara yeni posta gönderemezsiniz.
Bu forumdaki postalarınızı silemezsiniz.
Bu forumdaki postalarınızı düzenleyemezsiniz.
Bu forumda anketler yaratamazsınız.
Bu forumdaki anketlere oy veremezsiniz.