2013-04-29 5 views
6

異なるタイプのフィールドで結合された2つのテーブルの情報を表示するビューを作成したいとします。 1つのフィールドはnvarcharで、もう1つはintです。私は他のタイプの1つのタイプを変換する必要があることを知っているが、それを行う方法を知らない。 ご協力いただければ幸いです。ビューでSQLテーブルを結合するためにnvarcharをintに変換します

SELECT dbo.co.co_num, dbo.pck_hdr.weight, dbo.STR_ShipTrack.TrackingNumber 
    FROM dbo.co 
INNER JOIN dbo.pck_hdr ON dbo.co.co_num = dbo.pck_hdr.co_num INNER JOIN dbo.STR_ShipTrack ON dbo.pck_hdr.pack_num = dbo.STR_ShipTrack.Reference1 

答えて

15

あなたのコードを見ると、あなたが何をすべきかを教えてもらえません。

SQLエンジンは比較のために自動変換を行います。しかし、ifは文字フィールドを整数に変換することを決定し、エラーが発生する可能性があります。

ので、ちょうどNVARCHARためにあなたのint型のフィールドをキャスト:

cast(IntField as nvarchar(255)) 

長さはnvarchar()比較のために重要ではありません。クエリで

は、あなたが代わる:

ON dbo.pck_hdr.pack_num = dbo.STR_ShipTrack.Reference1 

で:私は不完全な説明をお詫び申し上げます

ON cast(dbo.pck_hdr.pack_num as nvarchar(255)) = dbo.STR_ShipTrack.Reference1 
+0

。 dbo.pck_hdr.pack_numはintで、dbo.STR_ShipTrack.Reference1はvarchar(25)フィールドです。 コードをどのようにまとめるべきか教えてください。 –

+1

それは素晴らしい仕事をした。 ありがとうございます。私は今日何かを学ぶ。 –

関連する問題