Select 結果のリストにカウンターを追加しようとしています。簡単に言うと、私のクエリは次のとおりです。
Select distinct '"'+cast((product_sku) as varchar(30))+'"' as product_sku,preco,'"tamanhoecor::' + Left(Main.preco,Len(Main.preco)-1) + '"' As "custom_price"
From(
Select distinct ST2.product_sku,
(Select cordesc + ' - ' + tamanho +':' + cast(price_dif as varchar) + ';'
From [mg_produtos_preco] ST1
Where ST1.product_sku = ST2.product_sku
ORDER BY ST1.product_sku
For XML PATH ('')) [Preco],
product_price, cordesc,tamanho
From [mg_produtos_preco] ST2) [Main]
これは私にこれを得る:
product_sku preco custom_price
"340803 010" Preto - S:0;Preto - M:0;Preto - L:0;Preto - XL:0; "tamanhoecor::Preto - S:0;Preto - M:0;Preto - L:0;Preto - XL:0"
"340803 100" Branco - S:0;Branco - M:0;Branco - L:0; "tamanhoecor::Branco - S:0;Branco - M:0;Branco - L:0"
ただし、これが必要です:
product_sku preco custom_price
"340803 010" Preto - S:0:0;Preto - M:0:1;Preto - L:0:2;Preto - XL:0:3; "tamanhoecor::Preto - S:0:0;Preto - M:0:1;Preto - L:0:2;Preto - XL:0:3"
"340803 100" Branco - S:0:0;Branco - M:0:1;Branco - L:0:2; "tamanhoecor::Branco - S:0:0;Branco - M:0:1;Branco - L:0:2"
ここで見つけたものを使用しようとしました: http://msdn.microsoft.com/en-us/library/ms187330%28v=sql.105%29.aspx
DECLARE @pos nvarchar(30) Select .... (@pos + = 1) .... from .... (SELECT @pos=0) .... を試しました。
しかし、「'DECLARE' 付近の構文が正しくありません。'('、SELECT、または WITH が必要です。」と「= 付近の構文が正しくありません」というメッセージが表示されます。
私はこのコードを試しましたが、うまくいきました:
GO
DECLARE @var1 nvarchar(30)
SELECT @var1 = 'Generic Name'
SELECT @var1 = (
SELECT AppUserName
FROM [AppUsers]
WHERE AppUserID = 1000)
SELECT @var1 AS 'Company Name' ;
助けていただければ幸いです。
ありがとう。