SQL用于JSON转换问题
我试图运行以下查询,从示例数据库中的客户记录构建JSON字符串SQL用于JSON转换问题,sql,json,type-conversion,Sql,Json,Type Conversion,我试图运行以下查询,从示例数据库中的客户记录构建JSON字符串 SELECT CustomerID, CustomerName, PersonID AS [CustomerContact.PersonID], SUBSTRING(FullName, 0, CHARINDEX(' ', FullName)) AS [CustomerContact.FirstName], SUBSTRING(FullName, CHARINDEX(' ', FullName
SELECT
CustomerID,
CustomerName,
PersonID AS [CustomerContact.PersonID],
SUBSTRING(FullName, 0, CHARINDEX(' ', FullName)) AS [CustomerContact.FirstName],
SUBSTRING(FullName, CHARINDEX(' ', FullName) + 1, LEN(FullName)) AS [CustomerContact.LastName],
EmailAddress AS [CustomerContact.Email],
DeliveryAddressLine1 AS [CustomerContact.Address1],
DeliveryAddressLine2 AS [CustomerContact.Address2],
CityName AS [CustomerContact.City],
StateProvinceName AS [CustomerContact.State],
DeliveryPostalCode AS [CustomerContact.Zip],
CustomerCategoryName AS CustomerType,
WebsiteURL As Website
FROM
Sales.Customers
LEFT JOIN Sales.CustomerCategories
ON Customers.CustomerCategoryID = CustomerCategories.CustomerCategoryID
LEFT JOIN Application.Cities
ON Customers.DeliveryCityID = Cities.CityID
LEFT JOIN Application.StateProvinces
ON Cities.StateProvinceID = StateProvinces.StateProvinceCode
LEFT JOIN Application.People
ON Customers.CustomerID = People.PersonID
WHERE
Customers.CustomerID = 200
FOR JSON PATH
当我尝试此操作时,它只会抛出以下错误:
Conversion failed when converting the ****** value '******' to data type ******.
有人知道这是什么意思吗
编辑:***按字面意思显示为星号,而不是隐藏值。行错误是
Msg 245,级别16,状态1,行1
首先想到的是这行:
ON Cities.StateProvinceID = StateProvinces.StateProvinceCode
您是想用代码连接ID吗?在本例中,这可能意味着您试图用不同的类型将两列等同起来。你能分享一下******是什么吗?如果它给你一个行号的话?首先想到的是这一行:ON Cities.StateProvinceID=StateProvinceID=StateProvinceCode-你是想把ID和代码连接起来吗?这实际上修复了它,它生成了JSON字符串,但它…很时髦。这不是我所期望的。@Simon对我有用,如果你想正式回答,我可以把你标记为解决问题的人。