2017-05-31 3 views
1

Ich versuche, eine XML-Datei zu erstellen, wenn Rechnungen und ich glaube, ich habe den Code korrekt, aber es generiert nicht die XML-Datei. Ich habe gegoogelt, aber ich habe nicht die richtigen Keywords, um mein Problem zu finden, da ich mir nicht sicher bin, was das Problem ist. Was könnte dazu führen, dass die XML-Datei nicht erstellt wird?XML-Datei wird nicht in SQL generiert

USE AP 

SELECT 
    InvoiceNumber, 
    InvoiceDate, 
    InvoiceTotal, 
    InvoiceLineItemDescription, 
    InvoiceLineItemAmount 
     FROM 
      Invoices JOIN InvoiceLineItems 
     ON 
      Invoices.InvoiceID = InvoiceLineItems.InvoiceID 
    WHERE Invoices.InvoiceID IN (
     SELECT Invoices.InvoiceID 
      FROM Invoices JOIN InvoiceLineItems 
     ON Invoices.InvoiceID = InvoiceLineItems.InvoiceID 
    GROUP BY Invoices.InvoiceID 
    HAVING COUNT(InvoiceLineItemDescription) > 1) 

ORDER BY InvoiceDate 

FOR XML PATH ('InvoiceNumber'), ROOT('Invoices'); 

Dies ist, was ich bekomme, wenn ich die Abfrage ausführen:

enter image description here

Dies ist die Beispieldaten:

enter image description here

Als ich herausnehmen „, DIE COUNT (InvoiceLineItemDescription)> 1 "Code erstellt die XML-Datei, aber ich möchte nur Rechnungen mit Einzelposten abrufen. Nichts, was ich versucht habe, funktioniert. Irgendwelche Gedanken?

+0

Beispieldaten von Ihrer Frage und gewünschten Resultaten/xml Formatierung würde nützlich sein –

+0

Ich werde das zu Ihnen erhalten, sobald ich kann. Computer flippte aus und musste neu starten. Jetzt kann ich keine Verbindung zur Datenbank-Engine herstellen. Muss etwas Fehlersuche machen. – Krystianya

+0

Immer zur schlechtesten Zeit –

Antwort

2

Ich weiß nicht genug über Ihre Daten, aber die Antwort könnte sein, sehr einfach:

HAVING COUNT(InvoiceLineItemDescription) > 0) 

Sie überprüft >1, während Sie durch InvoiceId Gruppierung wurden. Wenn mein magischer Kristallball besser funktioniert als Ihr ausgeflippter Computer :-D nehme ich an, dass Sie einen InvoiceNumber pro InvoiceId haben und es genau eine InvoiceLineItemDescription pro Invoice gibt. Mit >1 würden Sie 2 oder mehr, aber nicht 1 finden ...

+0

Sie, Sir, sind ein Genie. Deine Kristallkugel funktioniert tatsächlich besser als mein ausgeflippter Computer. Und deine Erklärung macht sehr viel Sinn. Vielen Dank für Ihre Hilfe. Ich weiß es wirklich zu schätzen, dass du dir die Zeit genommen hast, das hier zu sehen. – Krystianya

Verwandte Themen