2016-04-25 56 views
0

我试图为员工销售的 报表创建一个视图。在Microsoft SQL Server上创建报表以获取报表

我的员工字段是 Staff_ID - PRIMARY KEY Staff_Name

我的销售领域是 SALE_DATE Payment_ID @ Staff_ID @ Sale_ID - PRIMARY KEY

我试图计算出每多少销售工作人员已经提出,我会怎么做呢?我已经尝试过这一点,但正如你可以看到我不是很擅长sql中的视图。

SELECT tblSale.Staff_ID, 
SUM(tblSale.Sale_ID*tblSale.Staff_ID) AS 
SalesPerStaff FROM tblSale 

INNER JOIN tblStaff ON tblSale.Sale_ID = tblStaff.Staff_ID 
GROUP BY tblSale.Sale_ID 
+0

“多少销售量”是什么意思?只是一个计数? –

+0

是的,我想知道每位员工有多少销售额。例如Staff_ID 1 =已售出商品的商品清单 – Zank

回答

0

视图是一样的作为标准件的T-SQL的,它只是存储在数据库中准备好被调用,当你需要它

CREATE VIEW MyViewName 
AS 
SELECT 
st.Staff_ID 
,st.Staff_Name 
,COUNT(sa.Sale_ID) Sales 
FROM Staff st 
LEFT JOIN Sale sa 
ON st.Staff_ID = sa.Staff_ID 
GROUP BY 
st.Staff_ID 
,st.Staff_Name 

这样的话,你可以调用MyViewName,它会给你结果。如果您的员工没有销售,我使用了LEFT JOIN。

如果您的Sales表有一个值列,您可以将COUNT(Sale_ID)更改为SUM(Sales_Value)或任何该字段被调用。

刚刚阅读您对主要问题的回复。如果你的销售表有类似'Item_ID'的东西,那么只需在选择列表中的st.Staff_Name后面添加它(记得也要添加到GROUP BY的末尾)。

+0

你是一位天才,诚实。我的单身老师已经“无限期”休假,甚至没有引导我们的班级!谢谢Rich! – Zank

+0

不用担心,如果您需要解释 –

+0

的任何逻辑,请给我留言,如果问题解决了您的问题,您可以将答案标记为已接受。 –