Sql 如何在一列中显示更多值
我想在此模式下创建一个返回数据的查询:Sql 如何在一列中显示更多值,sql,sql-server,tsql,Sql,Sql Server,Tsql,我想在此模式下创建一个返回数据的查询: ID_Accesso | Id_Prestazioni 1 1&10&20 2 1&6&60 表格如下: CREATE TABLE [dbo].[AccessiXAttivita]( [IDAccesso] [int] NOT NULL, [ID] [int] NOT NULL, [IDAttivita] [int] NOT NULL, [Nume
ID_Accesso | Id_Prestazioni
1 1&10&20
2 1&6&60
表格如下:
CREATE TABLE [dbo].[AccessiXAttivita](
[IDAccesso] [int] NOT NULL,
[ID] [int] NOT NULL,
[IDAttivita] [int] NOT NULL,
[NumeroPrestazioni] [int] NULL,
[CodiceAttivita] [nvarchar](50) NULL)
CREATE TABLE [dbo].[T_EXP_CodiciAttivita](
[ASL] [nvarchar](50) NOT NULL,
[CodiceNostro] [nvarchar](50) NOT NULL,
[CodiceASL] [nvarchar](50) NOT NULL
)
我已经建立了这个查询,但是这个查询没有显示我想要的结果
SELECT CodiceNostro,IDAccesso
FROM AA_V_T_EXP_CodiciAttivita C JOIN AA_V_AccessiXAttivita A
ON C.CodiceNostro = A.IDAttivita
我如何构建一个查询来显示每个IDacesso,一个包含所有CodiceNostro的字段?您可以通过以下方式完成:
DECLARE @Tbl TABLE(ID_Accesso INT, Id_Prestazioni INT)
INSERT INTO @Tbl VALUES (1,1),(1,10),(1,20),(2,1),(2,6),(2,60)
SELECT ID_Accesso
,STUFF((SELECT '&' + CAST(Id_Prestazioni AS VARCHAR(10)) [text()]
FROM @Tbl
WHERE ID_Accesso = t.ID_Accesso
FOR XML PATH(''), TYPE)
.value('.','NVARCHAR(MAX)'),1,1,' ') Id_Prestazioni
FROM @Tbl t
GROUP BY ID_Accesso
输出
ID_Accesso Id_Prestazioni
1 1&10&20
2 1&6&60
演示 您可以在进行测试。您可以尝试以下方法:
选择字段1作为字段1,字段2 | |'和| |字段3 | |'和| |字段4作为字段234
来自田野代码>
结果将是:
FIELD1 | FIELD234
F1 | F2&F3&F4
提供了目前如何在这些表中存储值的示例数据。您编写的代码不起作用,因为我不知道我拥有的字段x的数量