0
當我在下面的代碼中輸入最後一個連接時,出現一條錯誤消息,指出「將varchar值3轉換爲數據類型int時轉換失敗。 (味精245,級別16,狀態1,行1)有人可以幫助我嗎?在一張表中,它在我想要與其他表中的另一個號碼加入的號碼前面有奇怪的字符。將Varchar 3轉換爲int
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
你能請張貼的數據類型ad.id和pe.address? – Eli
您需要共享那些「奇怪的字符」行... – fhossfel
如果它是一個int值(不含「怪異字符」),您可以將pe.fdaddress強制轉換爲int。但是,如果fdaddress被假定爲索引外鍵,那麼該索引將不再工作(索引是針對原始varchar值的,而不是int)。你應該總是試着設計你的數據庫以在你的表上擁有合適的主鍵和/或外鍵。 – RToyo