Subquery returned more than 1 value.

Bu hata, bir alt sorgunun, bir WHERE, IN veya HAVING ifadesi içinde veya bir SELECT ifadesinde kullanıldığında, alt sorgunun birden fazla değer döndürmesi durumunda ortaya çıkar. Bu hatanın nedeni, ana sorgunun, alt sorgunun döndürdüğünden daha fazla veriye sahip olmasıdır.

Örneğin, aşağıdaki sorguda, alt sorgunun döndürdüğü birden fazla değer nedeniyle bu hatayı alabilirsiniz:

SELECT name FROM customers WHERE id = (SELECT customer_id FROM orders)

Bu hatayı çözmek için alt sorgunun yalnızca bir değer döndürmesini sağlamak gereklidir. Bunun için alt sorguda kullanılan WHERE veya IN ifadesini düzenleyebilir veya alt sorgunun sonucunu birkaç kayıt döndürmek yerine yalnızca bir kayıt döndürecek şekilde değiştirebilirsiniz. Bu, bir LIMIT ifadesi kullanarak veya alt sorgunun TOP 1 gibi bir kısıtlama ekleyerek yapılabilir.

Örneğin, yukarıdaki örnek sorguyu aşağıdaki gibi düzenleyebilirsiniz:

SELECT name FROM customers WHERE id = (SELECT TOP 1 customer_id FROM orders)

Bu şekilde, alt sorgu yalnızca bir kayıt döndürecektir ve hatanın önüne geçilecektir.

Regenerate response

Last updated

Was this helpful?