我有两个表,表A和表B
Table A Structure
ItemCode Amount DatebyDay
01 1000 20170821
01 1000 20170822
01 1000 20170823
01 1000 20170824
01 1000 20170825
...
02 2000 20170821
02 2000 20170822
02 2000 20170823
02 2000 20170824
02 2000 20170825
...
03
...
Table B Structure
FieldCode Amount DatebyDay
fd 10000 20170821
fd 10000 20170822
fd 10000 20170823
fd 10000 20170824
fd 10000 20170825
fd 10000 20170826
...
我希望有一个SQL可以1.按周计算每个项目的金额。 2.按周计算字段fd的数量。 3.在同一周将1值除以2值。 我的预期结果是
WeekNum ItemId DividedResult
33
34 01 0.1 //(1000*5)/(10000*5)
34 02 0.2 //(2000*5)/(10000*5)
34 03 ...
35
先谢谢你!
答案 0 :(得分:0)
SELECT WEEK(DatebyDay),SUM(A.Amount),SUM(B.Amount),SUM(A.Amount)/SUM(B.Amount) FROM TABLEA A
INNER JOIN TABLEB B ON A.ItemCode=SUBSTR(B.FieldCode,3,LENGTH(B.FieldCode)) AND A.DatebyDay=B.DatebyDay
GROUP BY WEEK(DatebyDay);
您可以尝试以上代码。
注意:我在考虑这两个表是相互关联的,例如 ItemCode
是 FieldCode