Sql 没有得到适当的结构
我有这样的存储过程:Sql 没有得到适当的结构,sql,sql-server,tsql,stored-procedures,Sql,Sql Server,Tsql,Stored Procedures,我有这样的存储过程: CREATE PROCEDURE [dbo].[Poll_EDI834_5010] AS BEGIN SELECT Header.ST01, Line.PER04__CommunicationNumber , (SELECT Member_Ref.REF01_ReferenceIdentificationQualifier FROM EDI834_5010_2000_RefLoo
CREATE PROCEDURE [dbo].[Poll_EDI834_5010]
AS
BEGIN
SELECT Header.ST01,
Line.PER04__CommunicationNumber ,
(SELECT Member_Ref.REF01_ReferenceIdentificationQualifier
FROM EDI834_5010_2000_RefLoop Member_Ref
WHERE Member_Ref.Id_Header = Header.BGN02__TransactionSetIdentifierCode
AND Member_Ref.Id_Loop2000 = Line.Member_Id
FOR XML AUTO, ELEMENTS, TYPE),
VLine.HD01_MaintenanceTypeCode,
(SELECT ClaimDTP.DTP01__DateTimeQualifier
FROM EDI834_5010_2300_DTPLoop ClaimDTP
WHERE ClaimDTP.Id_Header = Header.BGN02__TransactionSetIdentifierCode
AND ClaimDTP.Id_Loop2000 = Line.Member_Id
AND ClaimDTP.Id_Loop2300 = VLine.Id_Claim
FOR XML AUTO, ELEMENTS, TYPE)
FROM EDI834_5010_Header Header
JOIN EDI834_5010_2000 Line ON Header.BGN02__TransactionSetIdentifierCode = Line.Header_Id
JOIN EDI834_5010_2300Loop VLine ON Header.BGN02__TransactionSetIdentifierCode = VLine.Id_Header_Id andVLine.Id_Loop2000=Line.Member_Id
FOR XML AUTO, ELEMENTS
END
GO
<Header>
<Line>
<MemberRef> </MemberRef>
<MemberRef> </MemberRef>
<VLine>
<Claim_DTP> </Claim_DTP>
<Claim_DTP> </Claim_DTP>
</VLine>
</Line>
</Header>
我得到的数据结构如下:
CREATE PROCEDURE [dbo].[Poll_EDI834_5010]
AS
BEGIN
SELECT Header.ST01,
Line.PER04__CommunicationNumber ,
(SELECT Member_Ref.REF01_ReferenceIdentificationQualifier
FROM EDI834_5010_2000_RefLoop Member_Ref
WHERE Member_Ref.Id_Header = Header.BGN02__TransactionSetIdentifierCode
AND Member_Ref.Id_Loop2000 = Line.Member_Id
FOR XML AUTO, ELEMENTS, TYPE),
VLine.HD01_MaintenanceTypeCode,
(SELECT ClaimDTP.DTP01__DateTimeQualifier
FROM EDI834_5010_2300_DTPLoop ClaimDTP
WHERE ClaimDTP.Id_Header = Header.BGN02__TransactionSetIdentifierCode
AND ClaimDTP.Id_Loop2000 = Line.Member_Id
AND ClaimDTP.Id_Loop2300 = VLine.Id_Claim
FOR XML AUTO, ELEMENTS, TYPE)
FROM EDI834_5010_Header Header
JOIN EDI834_5010_2000 Line ON Header.BGN02__TransactionSetIdentifierCode = Line.Header_Id
JOIN EDI834_5010_2300Loop VLine ON Header.BGN02__TransactionSetIdentifierCode = VLine.Id_Header_Id andVLine.Id_Loop2000=Line.Member_Id
FOR XML AUTO, ELEMENTS
END
GO
<Header>
<Line>
<MemberRef> </MemberRef>
<MemberRef> </MemberRef>
<VLine>
<Claim_DTP> </Claim_DTP>
<Claim_DTP> </Claim_DTP>
</VLine>
</Line>
</Header>
我的问题是我希望数据看起来像这样:
<Header>
<Line>
<MemberRef> </MemberRef>
<MemberRef> </MemberRef>
<VLine>
<Claim_DTP> </Claim_DTP>
<Claim_DTP> </Claim_DTP>
</VLine>
<VLine>
<Claim_DTP> </Claim_DTP>
<Claim_DTP> </Claim_DTP>
</VLine>
</Line>
</Header>
为什么我的VLine
节点不重复?但是当我删除子查询成员\u Ref
时,我得到了适当的结构。但我需要那个子查询。有什么方法可以实现这种结构吗?对此不确定
这些字段名看起来真的很糟糕。精确解有什么不同?我可以编辑我的答案,以便其他人可以从你的问题中学习。(对不起,我没有你的数据库,所以我无法测试自己)这几乎是一样的唯一区别是我必须添加上述解决方案中给出的3行代码…非常感谢。为了帮助约翰