sql server 2008中的单独连接字符串

sql server 2008中的单独连接字符串,sql,sql-server-2008,Sql,Sql Server 2008,我在SQL Server中有一个表,其中包含如下数据 ID Name Des 1 A Text1, Text2 2 B Text3, Text4 需要选择语句以获取以下数据: ID Name Des 1 A Text1 1 A Text2 2 B Text3 2 B Text4 您可以使用Split-函数,该函数也适用于SQL Server 2005(我正在使用): 然后,此查

我在SQL Server中有一个表,其中包含如下数据

ID  Name   Des
1    A     Text1, Text2
2    B     Text3, Text4
需要选择语句以获取以下数据:

ID    Name   Des
1      A     Text1
1      A     Text2
2      B     Text3
2      B     Text4

您可以使用
Split
-函数,该函数也适用于SQL Server 2005(我正在使用):

然后,此查询将返回您的结果:

SELECT ID,
       Name,  
       Split.Item AS Des
FROM dbo.TableName t
CROSS APPLY [dbo].[Split](t.Des, ',') Split
试试这个

select id,name,substr(Des,0,instr(Des,1)) as des
from TableName
union
select id,name,substr(Des,instr(Des,1)+1) as des
from TableName

我不确定我是否理解你的问题-你能给出一个更详细的例子,说明你表格中的数据以及你的预期结果是什么吗?第二个语句中的“A”和“B”值来自何处?第二个表中的前2行来自第一个表的第一行,第一行的值为1 A Text1,Text2,需要将其拆分为2行,对于列表中的其他行,第1行(1 A Text1)和第2行(1 A Text2)依此类推。它在我的表上不起作用,它只返回第一行,如下所示:1a Text1 2b Text3 anyidea@Vikram:对不起,我没有注意到你的评论。正如您所见,我在中使用了您的示例数据,它返回了所需的结果。
select id,name,substr(Des,0,instr(Des,1)) as des
from TableName
union
select id,name,substr(Des,instr(Des,1)+1) as des
from TableName