-2
選択されたコードの数をループし、@ language_desc_1から@ language_desc_30までの宣言変数にコード記述を割り当てる方法。T-SQL - 宣言変数をループしてビルドする方法
したがって、以下のデータに基づいています。表示するフラグが2つしかない場合、2には3が割り当てられません。
データフィールド駆動のラベルツールを使用します。だから私は変数を割り当てることができる必要があります。
目的は、ラベルが正しいデータを読み取るようにデータフィールドでデータ文字列を作成することです。
Products_Descriptionsテーブルは次のようになります。
8332 05 US LARGE GREEN CHAIR 1 Y
8332 05 MX SILLA VERDE GRANDE 2 Y
8332 05 CN 大綠色的椅子 3 N
DECLARE
@language_desc_1 nvarchar(100),
@language_desc_2 nvarchar(100),
@language_desc_3 nvarchar(100),
@language_desc_4 nvarchar(100),
@language_desc_5 nvarchar(100)
BEGIN
select
@language_desc_1 = case when a.RowNum = 1 then a.Language_code else null end,
@language_desc_2 = case when a.RowNum = 2 then a.Language_code else null end,
@language_desc_3 = case when a.RowNum = 3 then a.Language_code else null end,
@language_desc_4 = case when a.RowNum = 4 then a.Language_code else null end,
@language_desc_5 = case when a.RowNum = 5 then a.Language_code else null end
from
(
select
Language_code, ROW_NUMBER() over (order by Sort_Code) RowNum
from
Products_Descriptions
where Display_On_Label_Flag = 'Y'
) a
END
select @language_desc_1
select @language_desc_2
私はあなたが欲しいものを理解できませんが、何かをしようとしているような匂いがします。このコードが何を達成しようとしているかについてもっと説明できますか?あなたの最後のゲームは何ですか? – JNevill
こんにちはJNevill、最終的に各products_descriptionsコードをループし、language_desc_1 = "LARGE GREEN CHAIR"とlanguage_desc_2 = "SILLA VERDE GRANDE"を割り当てます。 –
私はそれを得て、変数名に値を割り当てながら動的に参照することは(不可能ではないにしても)難しいでしょう。一般的に、これをプログラミングする際には、Arrays forを使用します。私の質問は、あなたがそれらを読み込んだら、それらの 'language_desc_N'変数を使って何をするつもりです。これは非常に[xy問題](https://meta.stackexchange.com/questions/66377/what-is-the-xy-problem)のように感じます – JNevill