私は本当に私を混乱させている問題を抱えています。あなたの誰かが、私が見落としている本当にばかげた間違いを指摘することを半分期待していますが、実際にはそれを見ていません.
私たちの生産プロセスが約 1 年間供給しているテーブルがあり、データを照合しようとしているクライアントからクレイジーなテーブルを入手しました。次のクエリでは、tableA
は my テーブルで、tableB
はインポートしたばかりのテーブルです。
基本的な問題は、
select *
from tableA
where convert(nvarchar(30),accountNum) not in (
select CisAC
from tableB
)
私がそうすべきだと思うのに、レコードを返していません。accountNum が tableB の CisAC フィールドと一致する tableA のレコードを見つける必要があると思います。右?CisAC は nvarchar(30) で、accountNum フィールドは bigint です。
空の戻り値セットが間違っていると思う理由を指摘するには:
select * from tableA where convert(nvarchar(30),accountNum) = '336906210032'
1 つのレコードを返しますが、
select * from tableB where CisAC = '336906210032'
ではない。
それで、何が得られますか?(そして、お時間をいただきありがとうございます!)