Table A
LogID UserId Date
00001 0001 05-01
00002 0002 05-02
00003 0003 05-02
00004 0004 05-02
00005 0003 05-03
00006 0001 05-03
00007 0002 05-03
Table B
UserId Status
0001 Active
0002 Active
0003 Active
0004 Inactive
Table C
UserId Province
0001 Yunnan
0002 Fujian
0003 Fujian
0004 Beijing
以上为数据库中的三张表,通过UserID关联。表A为用户登录信息表以LogID为主键;表B储存用户活跃状态,表C储存用户地理位置信息。现在想根据表A中的日期分组得到其他状态的数目累加和,预期返回结果为:
Date Active Inactive Yunnan Fujian Beijing
05-01 1 0 1 0 0
05-02 2 1 0 2 1
05-03 3 0 1 2 0
能否用一条SQL语句实现?
这表业务逻辑非常不严密,我也就不严密的给你写一个了,就当你ABC表关系为多对一对一: