0

私は何か奇妙なことを経験していて、なぜこれが機能しないのか理解できません。非常に単純なはずですが。

次のような一時テーブルを選択するクエリがあるとします。

SELECT customer_no
INTO #temp 
FROM #old_temp

別の温度から選択して機能する1つの温度。Customer_noはvarchar(6)です。テスト目的の値は「123456」の1つだけです。

次に、コードはこれを実行しようとしています。

SELECT customer_no
FROM #temp
WHERE customer_no NOT IN
 (SELECT cust_number from AnotherCustomerTable)

AnotherCustomerTableでは、「123456」は確実に存在しません。また、customer_noもvarchar(6)です。何をしようとしても、結果は空ですが、結果セットで「123456」を取得する必要があります。

これを経験し、それが何であるかを知っている人はいますか?トリム機能を試しましたが、効果がありませんでした。

4

2 に答える 2

0

クエリに問題はありません。customer_no '123456' が #old_temp に存在すると仮定すると、#temp に挿入されます。cust_number '123456' が AnotherCustomerTable に存在しないと仮定すると、結果が返されます。

これは、デモンストレーションを行うSQL Fiddleです。私の推測では、あなたのデータは正しくありません。

幸運を。

于 2013-01-31T07:58:51.973 に答える