0
ben bu sorguyu çalıştı
, bu hata var bir agrega (SQL Sunucu Hatası) WHERE yan tümcesinde görünmeyebilir
select
(A.StudentId),
max(A.StudentFirstName),
max(A.StudentLastName),
max(A.StudentAddress),
'Batch ' + max(C.BatchName),
CAST(MAX(CAST(A.StudentStatus as INT)) AS BIT),
max(B.StudentBatchId)
from
tblStudentDetails A
inner join
tblStudentBatchDetails B on A.StudentId = B.studentid
inner join
tblBatch C on C.BatchId = B.batchid
where
max(A.StudentFirstName) like 'A%'
group by
A.StudentId
:
An aggregate may not appear in the WHERE clause unless it is in a subquery contained in a HAVING clause or a select list, and the column being aggregated is an outer reference.
birisi yardım bu sorunu kurtarmak için mi?
yanlışlıkla hakkında ne anlamıyorum? "Sahip" deyimini kullanın. Bu, neden bu durumda bir max() 'ye ihtiyacınız olacağını hiçbir fikrim yok dedi. –
Tam olarak ne elde etmeye çalışıyorsunuz? Tablo yapılarınızı, bazı örnek verilerini ve bu örnek için elde ettiğiniz sonucu paylaşır mısınız? – Mureinik
Tam olarak 'A%' ile ?? max (A.StudentFirstName) ile elde etmeyi ne bekliyorsunuz ??? Bu hiç mantıklı değil. Bana öyle geliyor ki, aklınıza gelebilecek her şey için sadece kavradığınız bir sorunu çözmeye çalışmak için çok uzaksınız. Çözmek istediğiniz gerçek problemi, bazı örnek veriler ve bu verilerden elde ettiğiniz çıktıyla açıklamak çok daha iyi olacaktır ve bunu yapmak için sorguyu nasıl yazacağınızı sorun. –