SQL Server’da Ambiguous Column Name Hatası
Herkese merhaba. Bu yazıda SQL Server’da Ambiguous Column Name hatası hakkında bilgi vereceğim.
SQL Server’da sorgu yaparken aşağıdaki gibi bir hata ile karşılaşabilirsiniz.
Aşağıdaki örnek kod ile bu hatayı görebilirsiniz.
SELECT CategoryID
FROM dbo.Products p
INNER JOIN dbo.Categories c
ON c.CategoryID = p.CategoryID;
Kodu çalıştırdığınızda aşağıdaki gibi bir sonuç alacaksınız.
Hatanın nedeni : Sorgunuzun içinde join yapılan tablolarda en az iki tablo arasında aynı isimle sunulan bir kolon isminin olmasıdır. Bu kolon ismi yukarıda CategoryID değeridir. Görüldüğü üzere hem Products tablosundan hem de Categories tablosundan bu değeri çekebilmekteyiz.
Burada sorgumuzu aşağıdaki şekilde düzeltmemiz gerekmektedir. Yani bu kolon değerinin Categories tablosundan mı Products tablosundan mı çekileceğine karar vermeniz gerekli.
SELECT p.CategoryID
FROM dbo.Products p
INNER JOIN dbo.Categories c
ON c.CategoryID = p.CategoryID;
Kodu çalıştırdığınızda aşağıdaki gibi bir sonuç alacaksınız.
Gördüğünüz üzere Ambiguous Column Name hatası giderilmiş oldu.
Herkese çalışma hayatında ve yaşamında başarılar kolaylıklar.