conversiontype的SQL Server查询错误
我在SQL Server中得到一个代码错误 SQL代码:conversiontype的SQL Server查询错误,sql,sql-server,Sql,Sql Server,我在SQL Server中得到一个代码错误 SQL代码: SELECT DISTINCT HEADER.PONUMBER, SName, CompanyName FROM HEADER INNER JOIN PDetails ON HEADER.PONUMBER = PDetails.PoNumber INNER JOIN FAN_P ON PDetails.PurchaseOrderID = FAN_P.PurchaseOrde
SELECT DISTINCT
HEADER.PONUMBER,
SName,
CompanyName
FROM
HEADER
INNER JOIN
PDetails ON HEADER.PONUMBER = PDetails.PoNumber
INNER JOIN
FAN_P ON PDetails.PurchaseOrderID = FAN_P.PurchaseOrderID
错误消息:
将varchar值“PO321211”转换为数据类型int时,转换失败
你能帮我拿这个吗
谢谢 检查的数据类型
HEADER.PONUMBER
Details.PoNumber
及
像这样
SELECT DISTINCT HEADER.PONUMBER,SName,CompanyName
FROM HEADER
INNER JOIN PDetails
ON HEADER.PONUMBER = concat(PDetails.PoNumber, '')
INNER JOIN FAN_P
ON PDetails.PurchaseOrderID = FAN_P.PurchaseOrderID
或
错误很明显。您正在尝试将and
INT
列与VARCHAR
列进行比较。为了缓解这种情况,您可以将比较转换为varchar。我都做了,因为我不知道是哪一个导致了错误。。。但它是包含PO321211
的列:)
你好,Christian,HEADER.PONUMBER是VARCHAR2,DETAILS.PONUMBER是INT。试着在join中使用HEADER.PONUMBER=concat(PDetails.PONUMBER,'')你能详细说明一下吗?感谢这样从HEADER上的HEADER内部连接PDetails中选择不同的HEADER.PONUMBER、SName、CompanyName。PONUMBER=concat(PDetails.PONUMBER“”)PDetails上的内部连接FAN_P。PurchaseOrderID=FAN_P.PurchaseOrderID检查编辑过的答案这不起作用,从HEADER上的HEADER内部联接PDetails中选择DISTINCT HEADER.PONUMBER、SName、CompanyName。PONUMBER=concat(“PO”,PDetails.PONUMBER”)PDetails.PurchaseOrderID=FAN\P.PurchaseOrderID上的内部联接FAN\P
SELECT DISTINCT HEADER.PONUMBER,SName,CompanyName
FROM HEADER
INNER JOIN PDetails
ON HEADER.PONUMBER = concat(PDetails.PoNumber, '')
INNER JOIN FAN_P
ON PDetails.PurchaseOrderID = FAN_P.PurchaseOrderID
SELECT DISTINCT HEADER.PONUMBER, SName, CompanyName
FROM HEADER
INNER JOIN PDetails
ON HEADER.PONUMBER = concat('PO',PDetails.PoNumber)
INNER JOIN FAN_P
ON PDetails.PurchaseOrderID = FAN_P.PurchaseOrderID
SELECT DISTINCT HEADER.PONUMBER,
SName,
CompanyName
FROM HEADER INNER JOIN PDetails
ON CAST(HEADER.PONUMBER AS VARCHAR(128)) = CAST(PDetails.PoNumber AS VARCHAR(128))
INNER JOIN FAN_P ON CAST(PDetails.PurchaseOrderID AS VARCHAR(128)) = CAST(FAN_P.PurchaseOrderID AS VARCHAR(128))