SELECT INTO文を使用して変数のリストを設定しようとしていますが、行を見つける必要があるときにnullデータを返すクエリに関する問題が発生しています。本当に奇妙な部分は、私が特定の列を選択した場合、それは動作しますが、他の列では機能しません。一度に1つずつ問題を分離するために、私はクエリを単純化しました。特にmysqlでクエリを実行すると誤ってNULLが返される
SELECT MarketName INTO @Product_1
FROM STG_XREF_ELS_PRODUCTS
WHERE MarketName = @ThisMarketName
LIMIT 1;
...私はまったく同じクエリを入力するが、別のフィールドを選択した場合しかし、それは正常に動作し、この文は動作しません
SELECT Product_1 INTO @Product_1
FROM STG_XREF_ELS_PRODUCTS
WHERE MarketName = @ThisMarketName
LIMIT 1;
:ここで私が実行しようとしていますものです私はこれがProduct_1が実際にnullであるケースではないことを確認するためにテストしました。Product_1がnullであるxrefテーブルにインスタンスがありません。また、テーブルからProduct_1を1つだけ選択してwhere句を指定しないと、nullの結果が得られます。
私も使って試みている:あなたの助けを事前に
set @Product1 = (select Product_1
FROM STG_XREF_ELS_PRODUCTS
WHERE MarketName = @ThisMarketName);
感謝を!
P.S.
fyi:MySQLの@記号はセッション変数を表します。 t-sqlでは、@はローカル変数を表します。 MySQLのローカル変数にはプレフィックスは必要ありません。値が期待どおりでない可能性があるため、MySQLでセッション変数を使用することには注意してください(MySQLを使用しているSQLサーバの人にはこれがたくさんあります)。 –
バックテックで試してみましたか? – eddy147