XML文件不会在SQL中生成

时间:2017-05-31 02:45:29

标签: sql xml

我试图创建一个XML文件,如果发票,我相信我的代码是正确的,但它没有生成XML文件。我已经用Google搜索了,但似乎没有正确的关键字来查找我的问题,因为我不确定问题是什么。可能导致XML文件无法创建的原因是什么?

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');

这是我执行查询时得到的结果:

enter image description here

这是样本数据:

enter image description here

当我拿出" HAVING COUNT(InvoiceLineItemDescription)> 1"它创建XML文件的代码,但我只想提取包含订单项的发票。我没有尝试过让它发挥作用。有什么想法吗?

1 个答案:

答案 0 :(得分:2)

我对您的数据知之甚少,但答案可能非常简单:

# here x is an array
def loga(x)
    cond = [x >= 0, x < 0]
    choice = [np.log(x+1), -np.log(-x+1)
    return np.select(cond, choice)

您在HAVING COUNT(InvoiceLineItemDescription) > 0) 分组时检查了>1。如果我的魔法水晶球比你的吓坏了的计算机更好:我认为你每InvoiceId有一个InvoiceNumber而且只有一个InvoiceIdInvoiceLineItemDescription。使用Invoice您可以找到2个或更多,但不能找到1 ...