Sql Server Cube

25 08 2011

Eğer kullandığınız sorgu sonucunda, sonuç satırları ile birlikte bir de özet bilgi göstermek istiyorsanız “Cube” kullanabilirsiniz. ör:
SELECT ProductID,SUM(Price) FROM tblSale GROUP BY ProductID WITH CUBE (veya GROUP BY CUBE(ProductID)) şeklinde bir sorgu kullanabilirsiniz. bu sorgu sonuç olarak bize ProductID ye göre gruplanmış toplam fiyat bilgisini ve ek olarak tüm satırlardaki toplam fiyat bilgisini getirecektir. Belki birilerinin işine yarar 🙂





Sql Sorgusunda Sıra Numarası

4 09 2008

Eğer çektiğiniz sorguda gelen satırlarla birlikte sıra numarasının da görünmesini istiyorsanız Row_Number() ifadesini kullanabilirsiniz. Kullanımı Select alan1, alan2… , Row_Number() over(partition by gruplama_alanı order by sıralama_alanı ) from tablismi şeklinde. Order by bölümü zorunlu alan, sorgu sonucu dönen satırların neye göre numaralandırılacağını belirtir. Partition by alanı isteğe bağlı kullanılır ve sorguda gruplama yapılarak sıra numarasının her grup için ayrı ayrı atanmasını sağlar.

örnek kullanım : 

Select IlceAdi, Row_Number() over( partition by SehirId order by IlceAdi) from IlceTablosu

 

Not: veri tabanınızda il ve ilce tablolarının olduğunu ve Ilce tablosunun Il tablosuna SehirId alanıyla bağlı olduğunu varsaydım





Sql de Case-When Yapısı

14 12 2007

ilgili yazının güncel hali için lütfen

http://www.sadullahkeles.com/2007/12/14/sql-de-case-when-yapisi/

adresini ziyaret ediniz..

Sql cümlelerimiz içinde belirli durumlara göre farklı işlemler yapmak istiyorsak Case-When yapısını kullanabiliriz. kullanımı

CASE

WHEN durum1 THEN  yapılacaklar

WHEN durum2 THEN yapılacaklar

ELSE  yapılacaklar

END

Bir örnek ile açıklamak istersek; veri tabannda statu isminde bir alanımız olduğunu ve bu alanın kişinin medeni halini tuttuğunu düşünelim. statü alanımzda “1” evli, “2” bekar “3” de belirtilmedi anlamına gelsin. Biz eğer sorgu sonucunda statü durumunu 1,2,3 olarak değilde evli, bekar, belirtilmemiş olarak görmek istiyorsak sorgumuzu şu şekilde düzenleyebiliriz :

SELECT ADI, SOYADI,

CASE

WHEN STATU = 1 THEN‘EVLİ’

WHEN STATU = 2 THEN‘BEKAR’

ELSE‘BELİRTİLMEMİŞ’

ENDAS STATU

FROM TABLOM





Reverse()

4 12 2007

Reverse fonksiyonu parametre olarak aldığı ifadeyi tersten yazar. Kullanım şekli Reverse(parametre) şeklindedir.

ör:

select Reverse(‘sadullah’) şeklinde bir kullanım geriye ‘halludas’ değerini gönderir.

select Reverse(1234) şeklinde bir kullanım geriye 4321 değerini gönderir.





Year()

27 03 2007

Year fonksiyonu, parametre olarak aldığı tarih bilgisinin yıl değerini döndürür. Kullanımı : Year(tarih) şeklindedir.

Örnek Kullanım :

select year(‘2007.1.15’)

şeklinde bir kullanım geriye 2007 değerini döndürür.





Sum()

27 03 2007

Sum fonksiyonu, belirtilen ifadedeki değerlerin toplamını hesaplar. Kullanımı : Sum([All/Distinc] ifade) şeklindedir. default olarak ‘All’ dur. All Kullanıldığı zaman ifadenin içindeki bütün değerler hesaba katılır. Distinct kullanıldığı zaman ifadenin içindeki her değerden sadece 1 tanesi hesaba katılır. (bir alandaki değerlerin 1,1,2,2,3,3 olduğunu düşünürsek All olarak sum kullandığımızda sonuç 12, distinct kullandığımızda sonuç 6 olacaktır.)

Örnek Kullanım :

Use NorthWind
select Sum(distinct UnitPrice) from [Order Details]





Substring()

27 03 2007

ilgili yazının güncel hali için lütfen

http://www.sadullahkeles.com/2007/03/27/substring/

adresini ziyaret ediniz..

Substring fonksiyonu, parametre olarak aldığı ifadenin belirtilen indexinden başlanarak belirtilen sayıda karakterinin alınmasını sağlar. Kullanımı : Substring(ifade, başlangıç indexi, karakter sayısı) şeklindedir.

Örnek Kullanım :

select substring(‘sadullah’,1,3)

şeklinde bir kullanım geriye ‘sad’ ifadesini döndürür.

Not : Bu fonksiyon character, image, binary ve text ifadeler için kullanılabilir.