SQL Server ile ilgili her şey.

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

S

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.

SQL Server Eğitimleri Kanalına Abone Olun

Yazar Hakkında

Yavuz Selim Kart

SQL Server tarafında kendini ilerletmeye çalışırken bildiklerini sürekli başkalarına aktaran, yazılım dünyasında (C#, Java, Python vb.) kendini güncel tutmaya çalışan, araştırma yapmaktan bıkmayan, meraklı, bilginin üzerine bilgi katmaktan mutluluk duyan bir yazılım eğitmeni ve kod sever.
Grafik tasarım dünyasında Indesign'ı anlatacak kadar iyi kullanabilen, Photoshop ve Illustrator'e de orta düzey hakimiyeti bulunan, internet üzerinde online kimya dergisi kurmuş ve bunu yüzbinlerce kişiye ulaştırmayı başaran bir grafik sever.
WordPress tarafında 5 adet web sitesi kurmuş, bu sistemler üzerine çalışan bir WordPress sever.
Sosyal medya üzerinde okumalara ve araştırmalara devam eden, kendi kurmuş olduğu kimya dergisini daha çok kişiye nasıl ulaştırırım diye düşünen ve bu konuda SEO çalışmaları üzerine kafa yoran bir Sosyal Medya sever.
Kısaca çok çalışmayı seven, azimli biriyim.

Yavuz Selim Kart
SQL Server ile ilgili her şey.

Yazar

Yavuz Selim Kart

SQL Server tarafında kendini ilerletmeye çalışırken bildiklerini sürekli başkalarına aktaran, yazılım dünyasında (C#, Java, Python vb.) kendini güncel tutmaya çalışan, araştırma yapmaktan bıkmayan, meraklı, bilginin üzerine bilgi katmaktan mutluluk duyan bir yazılım eğitmeni ve kod sever.
Grafik tasarım dünyasında Indesign'ı anlatacak kadar iyi kullanabilen, Photoshop ve Illustrator'e de orta düzey hakimiyeti bulunan, internet üzerinde online kimya dergisi kurmuş ve bunu yüzbinlerce kişiye ulaştırmayı başaran bir grafik sever.
WordPress tarafında 5 adet web sitesi kurmuş, bu sistemler üzerine çalışan bir WordPress sever.
Sosyal medya üzerinde okumalara ve araştırmalara devam eden, kendi kurmuş olduğu kimya dergisini daha çok kişiye nasıl ulaştırırım diye düşünen ve bu konuda SEO çalışmaları üzerine kafa yoran bir Sosyal Medya sever.
Kısaca çok çalışmayı seven, azimli biriyim.