SELECT ITEMGROUPID ,
ITEMID ,
ITEMNAME ,
ITEMTYPE ,
COSTGROUPID ,
SALESMODEL ,
DIMENSION ,
(SELECT DESCRIPTION
FROM DIMENSIONS
WHERE (NUM = 0)
AND (DIMENSIONCODE = IT1.DIMENSION)
) AS Expr1
FROM INVENTTABLE AS IT1
WHERE (DATAAREAID = 'm02')
AND (ITEMGROUPID = 'FG')
AND (ITEMID = '14901C')
此查詢會引發錯誤。結果應該是取自列IT1.DIMENSION
的值(int
),並搜索Dimension
表並從DIMENSIONS
表中的說明列中返回值(nvarchar
)。從nvarchar到int的SQL轉換失敗錯誤
在執行時它具有如下錯誤:
Conversion Fail. When converting NVARCHAR value 'AG' to datatype INT.
這裏的目的是消除使用一個左外的上面的兩個表INVENTTABLE
和DIMENSIONS
之間加入。
Soooo,你想避免'LEFT JOIN',但你想要一個相關的子查詢呢?另一方面,什麼樣的數據類型是'DIMENSIONCODE'? – Lamak
值'AG'是否來自ITEMGROUPID列? –
*** SQL ***只是*結構化查詢語言* - 許多數據庫系統使用的語言,但不是數據庫產品......很多東西都是特定於供應商的 - 所以我們真的需要知道什麼**數據庫系統**(以及您正在使用的版本)(請相應地更新標籤)。 –