我有兩個表格,我需要從中計算查看百分比。數據彙總
表A有三列
Table A
Program_id Viewing_Day Seconds_viewed
-------------------------------------
1 1 520
1 2 330
1 3 650
1 5 100
2 1 90
2 3 80
2 4 560
2 6 980
2 7 1050
表B有四列
Table B
Program_id Reporting_day Total_Seconds Weight
---------------------------------------------
1 1 1800 1
1 3 1800 0.95
1 5 1800 0.9
1 7 1800 0.8
2 1 3600 1
2 3 3600 0.9
2 5 3600 0.8
2 7 3600 0.7
需要計算觀看百分比爲每個Reporting_Day
Viewing_percentage = (SUM(Seconds_Viewed)/Total_seconds) * Weight * 100
例來計算觀看百分比爲Program_id = 1和Reporting_Day = 5
因此,需要從表A
Table A
Program_id Viewing_Day Seconds_viewed
-------------------------------------
1 1 520
1 2 330
1 3 650
1 5 100
總分第二名考慮所有記錄Viewing_Day < = 5 Program_id = 1將是1600
對應表2的記錄
Table B
Program_id Reporting_day Total_Seconds Weight
---------------------------------------------
1 5 1800 0.9
投入式
Viewing_percentage = ((520+330+650+100)/1800) * 100 * 0.9 = 80
我需要計算所有和插入使成品表C
Table c
Program_id Reporting_day Viewing_percentage
--------------------------------------------
1 1 28.88 - (520/1800) * 100 * 1
1 3 79.16 - (1500/1800) * 100 * 0.95
1 5 80.00 - Explained Above
1 7 71.11 - (1600/1800) * 100 * 0.8
2 1 2.50 - (90/3600) * 100 * 1
2 3 4.25 - (170/3600) * 100 * 0.9
2 5 16.22 - (730/3600) * 100 * 0.8
2 7 53.67 - (2760/3600) * 100 * 0.7
我需要編寫SQL的一樣。我只能爲每個Reporting_Day考慮UNION。 Reporting_Day將保持不變(1,3,5,7)
您能否在編寫不使用UNION的SQL幫助?硬編碼Reporting_Day(1,3,5,7)不是問題。