I want to create a view which will display the info from two tables joined by different type fields. The one field is nvarchar and the other one is int. I know i need to convert one type in the other but don't know how to do it. Any help would be greatly appreciated.
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
Looking at your code, I can't tell either what you should do.
The SQL engine will do automatic conversions for the comparison. However, if might decide to convert the character field to an integer -- and then get an error.
So, just cast your int field to nvarchar:
cast(IntField as nvarchar(255))
The length doesn't matter for an nvarchar()
comparison.
In your query, you would replace:
ON dbo.pck_hdr.pack_num = dbo.STR_ShipTrack.Reference1
with:
ON cast(dbo.pck_hdr.pack_num as nvarchar(255)) = dbo.STR_ShipTrack.Reference1