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.

SQL Server’da Ambiguous Column Name Hatası

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.

SQL Server’da Ambiguous Column Name Hatası

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.

356 Kez Okundu

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 biriyim.

Aşağıdaki Yazılar da İlginizi Çekebilir

Yazı kopyalamak yasaktır!