0

我有一个复杂的数据库,其中包括发票表、收款表、员工表

Invoice(id, date, amount, employeeid) Collection(id, invoiceid, date, amount) Employee(id, name, address)

我想要一个显示员工姓名的输出,(Net Sales,Net Collection)-2columns 显示在一个标题下的一个列中 - 2013 年 1 月

我想在 2013 年 1 月的 columnpan 中拥有两个字段——Net Sales、Net Collection——输出将使用 SQL DATABASE 和查询生成......

我想知道我应该写什么查询来显示 EMPLOYEE NAME JAN2013 Encapsulating (NET SALES, NetCollection)

请查看我实际尝试创建的图像

图片链接

4

2 回答 2

0

您需要使用 + 添加结果,然后将其保存在列的别名中:

喜欢 :

EmpName+ convert(nvarchar, net sales)+ convert (nvarchar, net collection) as 'new column'

于 2013-06-13T04:30:15.427 回答
0

你还没有提到你的数据库。我假设 SQL Server。您可能需要使用透视查询示例透视查询如下

SELECT *
FROM (
    SELECT 
        year(invoiceDate) as [year],left(datename(month,invoicedate),3)as [month], 
        InvoiceAmount as Amount 
    FROM Invoice
) as s
PIVOT
(
    SUM(Amount)
    FOR [month] IN (jan, feb, mar, apr, 
    may, jun, jul, aug, sep, oct, nov, dec)
)AS pivot

我已从此处摘录,您可以研究该链接以详细了解它。在您的情况下,年份将是雇员。列跨越将在演示文稿中处理

于 2013-06-13T09:39:39.453 回答