2
dev 2008では動作しますが、テスト2014では機能しないクエリがあります。 requiremntsの表示により正確な形式で返されるクエリが必要ですが、それを変換する方法を知らない。私はキャストと変換を試みた。オペランドデータ型のイメージは、SQL Serverのmax演算子では無効です。2014
私はクエリを実行すると、私は2014年に取得したエラーメッセージは、最大演算子には無効である3 オペランドのデータ型の画像メッセージ8117、レベル16、状態1、行
はクエリです:です。ここで
SELECT Max(CASE
WHEN rn % 3 = 0 THEN itemtransactionbatchid
END) AS ItemTransactionBatchId,
Max(CASE
WHEN rn % 3 = 0 THEN referencebytes
END) AS ReferenceBytes,
Max(CASE
WHEN rn % 3 = 0 THEN description
END) AS Description,
Max(CASE
WHEN rn % 3 = 1 THEN itemtransactionbatchid
END) AS ItemTransactionBatchId1,
Max(CASE
WHEN rn % 3 = 1 THEN referencebytes
END) AS ReferenceBytes1,
Max(CASE
WHEN rn % 3 = 1 THEN description
END) AS Description1,
Max(CASE
WHEN rn % 3 = 2 THEN itemtransactionbatchid
END) AS ItemTransactionBatchId2,
Max(CASE
WHEN rn % 3 = 2 THEN referencebytes
END) AS ReferenceBytes2,
Max(CASE
WHEN rn % 3 = 2 THEN description
END) AS Description2
FROM (SELECT a.itemtransactionbatchid,
a.referencebytes,
b.description,
(ROW_NUMBER()
OVER(
ORDER BY CASE WHEN b.code='SIGOPRT' THEN 1 WHEN b.code='SIGDRVR' THEN 2 WHEN b.code='SIGTRANS' THEN 3 WHEN b.code='SIGRECV' THEN 4 WHEN b.code='SIGN' THEN 5 WHEN b.code='SIGSUPR' THEN 6 ELSE 0 END, b.code, (SELECT NULL)) - 1) rn
FROM [Transaction].itemtransactionref a (NOLOCK)
JOIN [Transaction].transactionreftype b
ON a.transactionreftypeid = b.transactionreftypeid
WHERE b.code IN('SIGDRVR', 'SIGN', 'SIGOPRT', 'SIGRECV',
'SIGSUPR', 'SIGTRANS')
AND a.itemtransactionbatchid = xxxxxxx
AND referencebytes IS NOT NULL)x
GROUP BY rn/3
'IMAGE'データ型は、あなたができるだけ早く' VARBINARY(MAX) 'データ型に移動する必要があるSQL Serverの2014年で廃止予定のデータ型です。詳細については、[ntext、text、およびimage(Transact-SQL)](https://msdn.microsoft.com/nl-be/library/ms187993.aspx)を参照してください。 –
これは私の問題を解決していただきありがとうございます。どのように答えを受け入れるのですか? – Rjoy