Only one expression can be specified in the select list when the subquery is not introduced with EXISTS.

SQL’de subquery’lerde sadece 1 çıktı alınması gereken yerde, birden fazla veri listelenirse bu hatayı verir.

örnek:

USE Northwind
SELECT t1.*  FROM dbo.Orders t1
WHERE t1.OrderDate =  

(SELECT MAX(OrderDate), CustomerID FROM dbo.Orders WHERE t1.CustomerID = CustomerID GROUP BY CustomerID)

Burada t1.OrderDate’e 1 sonuç vermemiz gerekirken altsorgumuzdan 2 değer dönmektedir, bu sorunu çözmek için

USE Northwind
SELECT t1.* FROM dbo.Orders t1
WHERE t1.OrderDate =
  (SELECT MAX(OrderDate) FROM dbo.Orders WHERE t1.CustomerID = CustomerID)

Maximum OrderDate in yanındaki CustomerID’yi sildiğimizin için bu sorgu hata vermeyecektir.

Leave a Reply

Your email address will not be published. Required fields are marked *