2017-09-26 12 views
0

せずにSQL上の画像データを使用することができます。 dtsnapshot最後に過ぎは、どのように私は私がedtrlgs.dtsnapshot「」は、その後、他のedtrlgs NULLされたときにケースを使用しようとした画像</p> <p>でカラムを追加しようとしてエラーを得たソートExcemption

をたまたま私はまた、どこの文の下にNULLですが、何も私は問題を解決する方法を

を起こりません?追加しましたか

エラーコード:

Msg 306, Level 16, State 2, Line 26 
The text, ntext, and image data types cannot be compared or sorted, except when using IS NULL or LIKE operator. 

データベース構造:employee_schedules

empuser VarChar(50) Primary 

データベース構造:

empuser VarChar(50) Primary 
のemployee_info

empuser VarChar(50) Primary 

データベース構造employee_companyinfo

データベース構造:employee_dtrlogs

empuser VarChar(50) Primary 
dtSnapshot Image 
dtStatus Int 
dtLocation Char(25) 
dtDateTime DateTime 

私は、このように列が含まれていなかった、あなたのdtsnapshotは、クエリで唯一の問題です。

コード:

   select 
       [USER]=ei.empuser 
       ,[WORK-DATE]=convert(date, edtrlgs.dtdatetime) 
       ,[TIME-IN]=max(case when edtrlgs.dtStatus = 1 then CONVERT(time, edtrlgs.dtDateTime) end) 
       ,[TIME-OUT]=max(case when edtrlgs.dtStatus = 2 then CONVERT(time, edtrlgs.dtDateTime) end) 
       ,[STATUS]= 
          case 
          when min(edtrlgs.dtStatus) <> max(edtrlgs.dtStatus) then '' 
          when max(edtrlgs.dtStatus) = 1 then 'NO OUT' 
          when min(edtrlgs.dtStatus) = 2 then 'NO IN' 
          end 
       ,[LOCATION]=rtrim(edtrlgs.dtLocation) 
       ,[DAY]=datename(weekday,convert(date,edtrlgs.dtdatetime)) 
       ,[SNAPSHOT]= edtrlgs.dtSnapshot 

       from employee_info as ei 
       left join employee_schedules as esched on ei.empuser=esched.empuser 
       left join employee_dtrlogs as edtrlgs on ei.empuser=edtrlgs.empuser 
       left join employee_companyinfo as eci on ei.empuser=eci.empuser 
       group by 
       ei.empuser 
       ,convert(Date,edtrlgs.dtDateTime) 
       ,edtrlgs.dtLocation 
       ,edtrlgs.dtSnapshot 
       order by ei.empuser 
+0

あなたのテーブル構造はどこですか? –

+0

edtrlgs.dtSnapshotソートエラーの原因となるイメージです。私はこのように他の列を含めなかった –

答えて

0

データベース構造:employee_dtrlogs

empuser VarChar(50) Primary 
    dtSnapshot Image 
    dtStatus Int 
    dtLocation Char(25) 
    dtDateTime DateTime 

はCOLUMN

ALTER TABLE employee_dtrlogs ALTER COLUMN dtSnapshot VarBinary(MAX) 

コード編集をALTER:スロークエリを解決

[SNAPSHOT]=case when edtrlgs.dtsnapshot != '' then edtrlgs.dtsnapshot end 

次に問題が解決しました

関連する問題

 関連する問題