我正在嘗試在兩個不同表中的兩個不同名稱的列上創建一個UNION ALL查詢。查詢比較兩個不同表中兩列的差異
我想採取USER_EXCEL表中的「MTRL」列,並將其與IM_EXCEL表中的「short_material_number」列進行比較。然後,我想查詢只返回兩列之間的區別。兩列都包含材料編號,但在表格中以不同方式命名(列明)。
我至今是:
(SELECT [MTRL] FROM dbo.USER_EXCEL
EXCEPT
SELECT [short_material_number] FROM dbo.IM_Excel)
UNION ALL
(SELECT [short_material_number] FROM dbo.IM_Excel
EXCEPT
SELECT [MTRL] FROM dbo.USER_EXCEL)
但是,試圖運行該查詢我收到一條錯誤消息時:
消息8114,級別16,狀態5,行22
將數據類型varchar轉換爲float時出錯。
我的猜測是,一個的列包含數字值和其他文本。查詢是隱式嘗試將文本轉換爲數值,其中一個記錄包含無法轉換的文本值。 – Barry 2014-10-17 18:42:30
@巴里是啊,就是這樣。當然。 – 2014-10-17 18:47:31
請添加「MTRL」和「short_material_number」的數據類型 – Ram 2014-10-17 18:50:53