Halo All halten,UNION Mit doppeltem Datum zu entfernen, aber die gleichen Daten
Ich hoffe, dass Sie mir helfen kann. Ich benutze SQL Server. Ich habe diese XML-Daten wie folgt aus:
<Root>
<Header>
<refNo>S350282535-100060</refNo>
<doNumber>0</doNumber>
</Header>
<Header>
<refNo>S350282535-100061</refNo>
<doNumber>1</doNumber>
</Header>
<Detail>
<item>114495</item>
<qty>2</qty>
<uom>PC</uom>
<refNo>S350282535-100060</refNo>
<remarks>-</remarks>
<reason>-</reason>
</Detail>
<Detail>
<item>114496</item>
<qty>2</qty>
<uom>PC</uom>
<refNo>S350282535-100061</refNo>
<remarks>-</remarks>
<reason>-</reason>
</Detail>
<Detail>
<item>114497</item>
<qty>2</qty>
<uom>PC</uom>
<refNo>S350282535-100061</refNo>
<remarks>-</remarks>
<reason>-</reason>
</Detail>
</Root>
, wie ich diese Art von Daten bekommen:
refNo doNumber Item qty uom
--------------------------------------------------------------------
S350282535-100060 0 114495 2 PC
S350282535-100061 1 114496 2 PC
S350282535-100061 1 114497 2 PC
hier ist meine Fragen, die ich habe bereits versucht:
DECLARE @XML AS XML, @hDoc AS INT, @SQL NVARCHAR (MAX), @flagParameter AS
INT
SELECT @XML = XMLData FROM XMLwithOpenXML
EXEC sp_xml_preparedocument @hDoc OUTPUT, @XML
SET @flagParameter = 2
SELECT item, qty,uom, refNo, remarks, reason
FROM OPENXML(@hDoc, 'Root/Detail',@flagParameter)
WITH
(
item [int],
qty [int],
uom [nvarchar] (6),
refNo [nvarchar] (50),
remarks [nvarchar] (100),
reason [nvarchar] (100)
)
SELECT refNo, doNumber
FROM OPENXML(@hDoc, 'Root/Header',@flagParameter)
WITH
(
refNo [nvarchar](50),
doNumber [int]
)
SELECT refNo , doNumber, item--, qty,uom, remarks, reason
FROM OPENXML(@hDoc, 'Root/Detail',@flagParameter)
WITH
(
refNo [nvarchar] (50),
doNumber [int],
item [int],
qty [int],
uom [nvarchar] (6),
remarks [nvarchar] (100),
reason [nvarchar] (100)
)
UNION
SELECT refNo, doNumber, One as Item--, two as two, three as three, four as
four
FROM OPENXML(@hDoc, 'Root/Header',@flagParameter)
WITH
(
refNo [nvarchar](50),
doNumber [int],
one [int],
two [int],
three [int],
four [int]
) EXEC sp_xml_removedocument @hDoc
i verwenden UNION, aber das Ergebnis war nicht so wie ich es erwartet hatte, kann mir jemand helfen? Ich schätze deine Hilfe.
Würden Sie bitte Ihre UNION-Abfrage teilen, die Sie versuchen? –
ja, sicher @keyur: – AgusmanPriantoro
ich habe meine Fragen bei meinem Post hinzugefügt. @keyur – AgusmanPriantoro