Geçici Kolon Oluşturma – Geçici Tablo Oluşturma

Geçici Kolon Oluşturma – Geçici Tablo Oluşturma

Common Table Expressions (CTE) kullanarak sorgumuzu içinde geçici tablolar ve kolonlar oluşturabiliriz. Bu oluşturduğumuz tablo ve kolonları sadece aynı sorgu içerisinde istediğimiz kadar kullanabiliriz. Veritabanımızda herhangi bir nesne oluşmaz. Sorgu bitiminde yok olurlar.

Hazırladığınız sorgu içerisinde yeni hesaplanarak oluşturulmuş kolonlar varsa ve sorgu içerisinde bir başka yerde bu kolonu kullanacaksanız, bu tür bir yapı faydalı olacaktır. Aynı kolonu gruplama ve benzeri işlemler için de kullanmak istiyorsanız bu yapı faydalı olacaktır.

CTE yapısını farklı işlemler içinde kullanılabilir burada sadece yeni bir kolon oluşturma özelliği ön plana çıkartılmıştır.

Aşağıda ki örnek CTE yapısını ve kullanımı göstermektedir.

–CTE yapısını tanımlıyoruz. Burada tablo ismini ve kolon isimlerini tanımlıyoruz.

WITH InvoiceAudit_PType ([InvoiceId], [ProjectTypeId], [Barcode])

AS

— CTE içerisini dolduracak sorgu tanımlanıyor.

(

SELECT

[InvoiceId]

,[ProjectTypeId] = CASE WHEN [Barcode] IS NOT NULL THEN

(SUBSTRING([Barcode],1,2))

ELSE NULL

END

–[InvoiceAudit] tablosunda [ProjectTypeId] diye bir kolon yoktur, bunu kendimiz tanımlıyoruz.

,[Barcode]

FROM [InvoiceMapper].[dbo].[InvoiceAudit])

–Tanımladığımız CTE üzerinde sorgu yapıyoruz

SELECT InvoiceId, [ProjectTypeId], [Barcode]

FROM InvoiceAudit_PType

WHERE

ProjectTypeId  is null

Leave a Reply

Your email address will not be published. Required fields are marked *