2013-04-29 11 views
6

मैं एक ऐसा दृश्य बनाना चाहता हूं जो विभिन्न प्रकार के फ़ील्ड द्वारा दो तालिकाओं से जानकारी प्रदर्शित करेगा। एक क्षेत्र nvarchar है और दूसरा int int है। मुझे पता है कि मुझे एक प्रकार में दूसरे प्रकार को बदलने की जरूरत है, लेकिन यह नहीं पता कि इसे कैसे किया जाए। किसी भी मदद की सराहना की जाएगी।एक दृश्य में एसक्यूएल टेबल में शामिल होने के लिए 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

अपना कोड देखकर, मैं यह नहीं बता सकता कि आपको क्या करना चाहिए।

एसक्यूएल इंजन तुलना के लिए स्वचालित रूपांतरण करेगा। हालांकि, अगर वर्ण फ़ील्ड को एक पूर्णांक में परिवर्तित करने का निर्णय ले सकता है - और फिर कोई त्रुटि प्राप्त करें।

cast(IntField as nvarchar(255)) 

लंबाई कोई फर्क नहीं पड़ता एक nvarchar() तुलना के लिए:

तो, सिर्फ 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 वर्चर (25) फ़ील्ड है। क्या आप कृपया मुझे दिखा सकते हैं कि मुझे कोड को एक साथ कैसे रखा जाना चाहिए? –

+1

यह बहुत अच्छा काम किया। इसके लिए धन्यवाद। मैं आज कुछ सीखता हूँ। –

संबंधित मुद्दे