我有一个订单表,其中包含一个名为OrderSummary的列。 OrderSummary具有以下格式的数据
123,0,0,0,0,0|223,1,1,1,1,1|323,2,2,2,2,2|423,3,3,3,3,3|523,4,4,4,4,4|
现在我想获取
|
分隔符之后的第一个数字,即我希望输出为:123
223
323
423
523
我有一个拆分函数,它将分隔符用作第一个输入,将字符串作为第二个输入。
我已经写了以下查询,但出现错误。
SELECT SUBSTRING(T.Value,1,CHARINDEX(',',T.Value)-1)
FROM (
Select *
FROM Split('|',(
SELECT OrderSummary
FROM SAM_STORE_OM_Orders
GROUP BY OrderSummary)))
T
子查询可以返回多个行:
SELECT OrderSummary FROM SAM_STORE_OM_Orders GROUP BY OrderSummary
最佳答案
请尝试:
SELECT SUBSTRING(T.Value,1,CHARINDEX(',',T.Value)-1) FROM
(SELECT VALUE FROM SAM_STORE_OM_Orders CROSS APPLY Split('|', OrderSummary)
)T
关于sql - SQL Server:子查询返回了多个值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13738816/