sql - Varchar 3 में परिवर्तित करने के लिए int




sql-server type-conversion (2)

मुझे लगता है कि आपके रिकॉर्ड में से कोई एक pe.fdaddress में पेश करता है, इससे बचने के लिए संख्यात्मक नहीं है, आप इसे पूर्णांक में कनवर्ट करने के लिए बेहतर मान सकते हैं।

SELECT ca.fdorgunit AS Facility
, pt.fdmedrecnum AS Account
, ca.fddos AS DOS
, ad.fdaddr1 AS [Address]
, pe.fdssn AS SSN
FROM OPENQUERY (VISION, 'SELECT * FROM ci.tbcase') AS ca
LEFT JOIN OPENQUERY (VISION, 'SELECT * FROM de.tbpatient') AS pt
ON pt.id = ca.fdpatient
LEFT JOIN OPENQUERY (VISION, 'SELECT * FROM de.tbperson') AS pe
ON pt.fdperson = pe.fdid
LEFT JOIN OPENQUERY (VISION, 'SELECT * FROM de.tbaddress') AS ad
ON CAST(ad.id AS varchar(10)) =  CAST(pe.fdaddress AS varchar(10))
WHERE ca.fdcasestatus = 'Performed'
GROUP BY ca.fdorgunit, ca.fddos, pt.fdmedrecnum, pe.fdssn, ad.fdaddr1

नीचे दिए गए अपने कोड में बहुत अंतिम प्रविष्ट होने पर मुझे एक त्रुटि संदेश मिलता है, जिसमें कहा गया है कि "varchar मान '3' को डेटा प्रकार इंट में कनवर्ट करने में रूपांतरण विफल रहा। ' (एमएसजी 245, लेवल 16, राज्य 1, रेखा 1) क्या कोई इस के साथ मेरी मदद कर सकता है? एक तालिका में उस संख्या के सामने अजीब अक्षर होते हैं जो मैं दूसरे तालिका में दूसरे नंबर के साथ जुड़ने की कोशिश कर रहा हूं।

SELECT ca.fdorgunit AS Facility
, pt.fdmedrecnum AS Account
, ca.fddos AS DOS
, ad.fdaddr1 AS [Address]
, pe.fdssn AS SSN
FROM OPENQUERY (VISION, 'SELECT * FROM ci.tbcase') AS ca
LEFT JOIN OPENQUERY (VISION, 'SELECT * FROM de.tbpatient') AS pt
ON pt.id = ca.fdpatient
LEFT JOIN OPENQUERY (VISION, 'SELECT * FROM de.tbperson') AS pe
ON pt.fdperson = pe.fdid
LEFT JOIN OPENQUERY (VISION, 'SELECT * FROM de.tbaddress') AS ad
ON ad.id = pe.fdaddress
WHERE ca.fdcasestatus = 'Performed'
GROUP BY ca.fdorgunit, ca.fddos, pt.fdmedrecnum, pe.fdssn, ad.fdaddr1

यह प्राथमिक कुंजी के अर्थात् पर निर्भर करता है। यदि यह केवल ऑटोइनक्रिकमेंट है, तो कुछ इस तरह का उपयोग करें:

insert into table1 (all columns except pk)
select all_columns_except_pk 
from table2;

यदि पीके का मतलब कुछ है, तो आपको यह निर्धारित करने का एक तरीका ढूंढना होगा कि कौन से रिकॉर्ड को प्राथमिकता दी जानी चाहिए। आप पहले डुप्लिकेट ढूंढने के लिए एक चुनिंदा क्वेरी बना सकते हैं ( सीपीइटिस द्वारा जवाब देखें)। फिर उन लोगों को खत्म करें जिन्हें आप रखना नहीं चाहते हैं और ऊपर दिए गए रिकॉर्ड्स को जोड़ने के लिए उपरोक्त डालने का उपयोग करें।





sql sql-server type-conversion