2016-04-02 9 views
0

集合体は、私はこのエラーを得た、WHERE句(SQL Serverのエラー)

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 

を表示されない場合がありますか

+2

でしょうか? 'having'節を使用してください。つまり、なぜこの場合は 'max()'が必要なのかわかりません。 –

+0

あなたは正確に何を達成しようとしていますか?あなたはあなたのテーブル構造、いくつかのサンプルデータ、そしてこのサンプルのために得ようとしている結果を共有できますか? – Mureinik

+1

「A%」のような 'max(A.StudentFirstName)で得ることを正確に期待していますか?それは意味をなさない。あなたが考えることができるだけのことを掴んでいる問題を解決しようとするのは、今のところオフトラックだと私には思えます。いくつかのサンプルデータとそのデータから得ようとしている出力を使って、解決しようとしている実際の問題を説明し、それを行うためのクエリを書く方法を尋ねるほうがずっと良いでしょう。 –

答えて

2

正しい構文を使用すると、エラーについて理解していない何...

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 
group by A.StudentId 
having max(A.StudentFirstName) like 'A%' 
関連する問題