Makale numarası: 890771 - Son Gözden Geçirme: 02 Kasım 2007 Cuma - Gözden geçirme: 1.5

ORDER BY yan tümcesinde iki veya daha çok sütunu ile aynı ada sahip bir diğer ad içeren bir sorgu gerçekleştirdiğinizde bir hata iletisi alıyorsunuz

Sistem İpucuBu makale, kullandığınızdan farklı bir işletim sistemine yöneliktir. Sizinle ilgili olmayabilecek makale içeriği devre dışı bırakıldı.

Hepsini aç | Hepsini kapa

Belirtiler

Microsoft SQL Server 2000'de bir sorgu yapmaya çalıştığınızda aşağıdaki hata iletisini alırsınız:
Sunucu: Msg 169, 15, Düzey 3'ü, <a1>Çizgi</a1> 8 durumu
Bir sütun, bazında sırada bir kereden fazla belirtildi. Sırada listesindeki sütunlar benzersiz olmalıdır.
Bu sorun, aşağıdaki koşullar doğru olduğunda oluşur:
  • ORDER BY aynı ada sahip iki veya daha çok sütunu sorguyu içeren yan tümcesi.
  • Sorgunun ORDER BY yan tümcesinde iki veya daha çok sütunu ile aynı ada sahip bir SELECT yan tümcesinde bir diğer ad içerir.
Örneğin, aşağıdaki Transact-SQL komut dosyasını çalıştırdığınızda, bu hata iletisini alırsınız:
USE Northwind
GO
SELECT TOP 1 customers.CustomerID as customerid,
  customers.CompanyName as companyname
 FROM customers INNER JOIN orders
  on customers.CustomerID = orders.CustomerID
 ORDER BY
  customers.CustomerID ASC,
  orders.CustomerID DESC
GO

Neden

ORDER BY yan tümcesi listesi benzersiz olması gerektiğinden, bu sorun oluşur. SELECT yan tümcesinde aynı ada sahip bir diğer ad belirtilmezse, ORDER BY yan tümcesi listesi artık benzersiz değil.

Pratik Çözüm

Sütunu ORDER BY yan tümcesi listeye dahil değiştirecekseniz bu soruna geçici bir çözüm bulmak için <a0></a0>, SELECT yan tümcesinde belirtilen diğer ad benzersiz olduğundan emin olmanız gerekir. Örneğin, aşağıdaki Transact-SQL komut dosyasını her çalıştırdığınızda hata iletisi döndürülür:
USE Northwind
GO
SELECT TOP 1 customers.CustomerID  as customerid1,
  customers.CompanyName as companyname
 FROM customers INNER JOIN orders
  on customers.CustomerID = orders.CustomerID
 ORDER BY
  customers.CustomerID ASC,
  orders.CustomerID DESC
 GO

Durum

Bu davranış tasarım yüzündendir.

Bu makaledeki bilginin uygulandığı durum:
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 2000 Personal Edition
  • Microsoft SQL Server 2000 Developer Edition
  • Microsoft SQL Server 2000 Enterprise Edition
Anahtar Kelimeler: 
kbmt kbquery kbinfo kbtshoot kbprb KB890771 KbMttr
Otomatik TercümeOtomatik Tercüme
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:890771  (http://support.microsoft.com/kb/890771/en-us/ )