0
我有兩個表,表a和表b。在SQL中計算總數
表被設置像...
用戶
Id ... InspectStat PurchaseStat SoldStat POSStat
------------------------------------------------------------
1
2
3
屬性
UserId ... Stage
---------------------------------------------------
1 Inspect
3 Purchase
1 Sold
2 POS
我想寫一個工作,將每隔一小時,計算每個百分比用戶在每個階段的總屬性。因此,例如,最終的結果應該是這樣的(假設僅存在這些4個屬性)
Id ... InspectStat PurchaseStat SoldStat POSStat
------------------------------------------------------------
1 .5 0 .5 0
2 0 0 0 1.0
3 0 1.0 0 0
我試圖
ALTER PROCEDURE [dbo].[StatCounter]
AS
DECLARE @PropertyCount as float
BEGIN
set @PropertyCount = (select count(AcquisitionAssociateId) from [dbo].[Properties], [dbo].[Users]
WHERE
[dbo].[Users].Id = [dbo].[Properties].AcquisitionAssociateId)
update [dbo].[Users]
set [dbo].[Users].PurchaseStat = ((select count (AcquisitionAssociateId) from [dbo].[Properties]
WHERE
[dbo].[Users].Id = [dbo].[Properties].AcquisitionAssociateId
and
[dbo].[Properties].Stage = 'Purchase')/@PropertyCount)
...Repeat for 3 other stages
此方法正確地計數在每個級的屬性數,但是在執行它之後,我意識到它實際上在做的是統計具有用戶分配給它們的屬性的數量,而不是明確計算單個用戶實際擁有的屬性的數量。我正在學習SQL,因此非常感謝您的幫助。
做「分配屬性,以用戶」什麼條款,以及「性能用戶」,其實是什麼意思? – 2013-04-25 15:26:18
什麼是RDBMS?它看起來像SQL Sever。請確認。 – EricZ 2013-04-25 15:30:26
@丹 - 我的意思是,每個屬性都有一個用戶,或沒有用戶,分配給它。我試圖計算用戶分配給它們的屬性總數(當表b中的UserId與表a中的Id相等時),然後計算四個階段中每個階段的屬性百分比。 – 2013-04-25 15:38:18