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
Les trois tables ci-dessus dans la base de données, liées via l'ID utilisateur. Le tableau A est un tableau d'informations de connexion utilisateur avec LogID comme clé primaire ; le tableau B stocke l'état actif de l'utilisateur et le tableau C stocke les informations de localisation géographique de l'utilisateur. Maintenant, je veux obtenir la somme cumulée du nombre d'autres états en fonction du regroupement de dates dans le tableau A. Le résultat de retour attendu est :
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
Peut-il être implémenté avec une instruction SQL ?
La logique métier de cette table est très lâche, je ne vais donc pas l'écrire pour vous de manière vague. Traitez simplement votre relation de table ABC comme plusieurs à un :
.