Orta Seviye SQL Server Sql Server

SQL Server’da No Column Name Was Specified For Column Hatası

SQL Server Eğitimleri Kanalına Abone Olun

Herkese merhaba,

Bu yazıda sizlere SQL Server’da no column name was specified for column hatası hatasından bahsedeceğim.

Bu hata kısa ve öz olarak subquery kullanımlarında başa gelen bir hatadır. Subquery yani iç sorgu içerisinde bir hesaplama yapılmış fakat bu hesaplama yapılmış alana alias verilmemesi sonucu ortaya çıkar. Hatalı örneği Northwind veritabanını kullanarak inceleyelim.

SELECT  tbl1.CategoryID,tbl2.ProductID
FROM    

( SELECT    SUM(UnitsInStock) AS Stok ,
                    CategoryID ,
                    ProductID
          FROM      dbo.Products
          GROUP BY  CategoryID ,
                    ProductID
        ) AS tbl1

        LEFT OUTER JOIN
		
		 ( SELECT    SUM(Quantity) ,
                                    [Order Details].ProductID
                          FROM      dbo.[Order Details]
                                    INNER JOIN dbo.Products ON Products.ProductID = [Order Details].ProductID
                          GROUP BY  [Order Details].ProductID
                        )  AS tbl2 ON tbl1.ProductID = tbl2.ProductID

Sorguyu Northwind veritabanını kullanarak çalıştırdığımız zaman hata alacağız. Sebebi Sum(Quantity) kısmına takma ad yani alias vermemekten kaynaklanmıştır. Çözümü basittir. Alias yani takma ad verilince sorgumuz başarılı şekilde çalışacaktır. Çalışan örneği aşağıda görmektesiniz.

SELECT  tbl1.CategoryID,tbl2.ProductID,tbl2.Toplam
FROM    

( SELECT    SUM(UnitsInStock) AS Stok ,
                    CategoryID ,
                    ProductID
          FROM      dbo.Products
          GROUP BY  CategoryID ,
                    ProductID
        ) AS tbl1

        LEFT OUTER JOIN
		
		 ( SELECT    SUM(Quantity) AS Toplam ,
                                    [Order Details].ProductID
                          FROM      dbo.[Order Details]
                                    INNER JOIN dbo.Products ON Products.ProductID = [Order Details].ProductID
                          GROUP BY  [Order Details].ProductID
                        )  AS tbl2 ON tbl1.ProductID = tbl2.ProductID

Herkese çalışma hayatında ve yaşamında başarılar kolaylıklar.

198 Kez Okundu
SQL Server Eğitimleri Kanalına Abone Olun

Yazar hakkında

Yavuz Selim Kart

Yazılım ve veri tabanında bildiklerimi anlatmaya gayret ediyorum. Halen birçok programlama dili üzerinde araştırmalar yaparak kendimi geliştiriyorum. Bunlar haricinde Grafik Tasarım ve Wordpress konularına da ilgim bulunmakta. SEO ve Sosyal medya yönetimleri hakkında da bilgim mevcuttur. Kısaca çok çalışmayı seven azimli birisiyim.

Kopyalamak Yasaktır!
Ads Blocker Image Powered by Code Help Pro
Reklam Eklentisi Kullanıyorsunuz

Lütfen bizlere destek için reklam eklentisi olmadan sitemizi ziyaret edin.

Şimdiden teşekkür ederiz.

Powered By
CHP Adblock Detector Plugin | Codehelppro