我有一个复杂的数据库,其中包括发票表,收集表,员工表
发票(ID,日期,金额,员工ID) 集合(id,invoiceid,日期,金额) 员工(身份证,姓名,地址)
我希望有一个输出显示员工姓名,(Net Sales,Net Collection)-2列在一个列中显示在一列中 - 2013年1月
我想在柱盘2013年1月有两个字段 - Net Sales,Net Collection ---将使用带有查询的SQL DATABASE生成输出...
我想知道我应该写什么查询来显示EMPLOYEE NAME JAN2013封装(NET SALES,NeTCollection)
请查看我正在尝试创建的图片
答案 0 :(得分:0)
您需要使用+添加结果,然后将其保存在列的别名中:
喜欢:
EmpName + convert(nvarchar,net sales)+ convert(nvarchar,net collection)为'new column'
答案 1 :(得分:0)
你还没有提到你的数据库。我假设SQL Server。 您可能需要使用Pivot查询示例数据透视查询在
下面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
我摘录了here的摘录,你可以研究这个链接,详细了解它。在你的情况下,一年将是员工。列跨越将在演示文稿上处理