Sql server SQL Server中具有多个表的多个聚合函数
我正在尝试获取输入人员的数据,我希望提取特定人员的发票号和行项目号数据 输出是Sql server SQL Server中具有多个表的多个聚合函数,sql-server,function,aggregate,Sql Server,Function,Aggregate,我正在尝试获取输入人员的数据,我希望提取特定人员的发票号和行项目号数据 输出是 Entered_by No of line items CD 9 CD 136084 deepa 7 deepa 18 dolly 757 dolly 22350 kroshni 666 kroshni 16161 lokesh
Entered_by No of line items
CD 9
CD 136084
deepa 7
deepa 18
dolly 757
dolly 22350
kroshni 666
kroshni 16161
lokesh 4
lokesh 999
MHeera 639
MHeera 20427
nandini 7
nandini 5318
这里,行项目数量中的数据是“行项目数量”计数和“发票数量”计数的混合,我想这样显示
Entered_by No of line items No of invoices
CD 136084 9
deepa 18 7
dolly 22350 757
请帮帮我这个人…。。
下面是T-SQL查询
select ENTERED_BY, count(entered_by) 'NO OF LINE ITEMS'
from im_invoice, im_invoice_line_item, im_invoice_inventory
where invoice_rid = invoice_fk
and invoice_inventory_rid = invoice_inv_fk
and enter_date between dateadd(mm, -3, getdate()) and dateadd(mm,0,getdate())
group by entered_by
union
select entered_by, count(invoice_num) 'NO OF INVOICES' from im_invoice
where enter_date between dateadd(mm, -3, getdate()) and dateadd(mm,0,getdate())
group by entered_by
正如Joe所说,如果你给我们一个更详细的描述,我们可以给你更好的答案,但在此之前,实现这一点的捷径如下:
你能澄清这三个表之间的关系吗?列
invoice\u rid
、invoice\u fk
、invoice\u invoint\u rid
和invoice\u fk
属于哪些表?
SELECT LineItems.ENTERED_BY, [NO OF LINE ITEMS], [NO OF INVOICES]
FROM
(SELECT ENTERED_BY,COUNT(entered_by) 'NO OF LINE ITEMS'
FROM im_invoice, im_invoice_line_item,im_invoice_inventory
WHERE invoice_rid = invoice_fk
AND invoice_inventory_rid = invoice_inv_fk
AND enter_date BETWEEN dateadd(mm, -3, getdate()) AND dateadd(mm,0,getdate())
GROUP BY entered_by) AS LineItems
INNER JOIN
(SELECT entered_by, count(invoice_num) 'NO OF INVOICES'
FROM im_invoice
WHERE enter_date BETWEEN dateadd(mm, -3, getdate()) AND dateadd(mm,0,getdate())
GROUP BY entered_by ) AS invoices
ON invoices.entered_by = LineItems.ENTERED_BY