A propos d'un calcul recursif
seviv2018
Messages postés
12
Statut
Membre
-
jordane45 Messages postés 30651 Date d'inscription Statut Modérateur Dernière intervention -
jordane45 Messages postés 30651 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
Je suis novice dans les bases des données. J'utilise Mysql Workbench 8.0 et j'ai créé une bdd et une table. J'aimerai effectuer un calcul recursif sauf que je ne sais pas où le faire. Puis que sur la fiche sql de la table ça indique une erreur sur la ligne de "with recursive cte"
voici mon code :
Sauf que je ne sais pas où placer le code de la recursivité. Le code suivant :
Je suis novice dans les bases des données. J'utilise Mysql Workbench 8.0 et j'ai créé une bdd et une table. J'aimerai effectuer un calcul recursif sauf que je ne sais pas où le faire. Puis que sur la fiche sql de la table ça indique une erreur sur la ligne de "with recursive cte"
voici mon code :
CREATE DATABASE `base`
DEFAULT CHARACTER SET `latin1`
DEFAULT COLLATE `latin1_general_ci`
INSERT INTO `membre` (`id`,`identite`,`idparrain`,`telephone`,`mail`,`province`,`vdd`,`ddd`,`mdt`,`mdp`) VALUES ( 7, 'Georges', 2, '(+243)903452198', '[email protected]', 'Kongo Central', '100$', '2018-07-19', 'Mpesa', '2453f80431877254016377c5e36e49046aec3d80'), ( 8, 'Sevi Vingu', 7, '(+243)978374637', '[email protected]', 'Kinshasa', '100$', '2018-07-12', 'Airtel Money', '7e1e1d11c6d0585a2fbf1d02dbdd83dbea154e80'), ( 9, 'Alex', 7, '(+243)821307485', '[email protected]', 'Equateur', '10$', '2018-07-12', 'Airtel Money', '2453f80431877254016377c5e36e49046aec3d80'), (10, 'Bob', 7, '(+243)814658204', '[email protected]', 'Kasai Oriental', '10$', '2018-07-28', 'Orange Money', '2453f80431877254016377c5e36e49046aec3d80'), (11, 'Annie', 7, '(+243)907070443', '[email protected]', 'Kinshasa', '100$', '2018-07-04', 'Airtel Money', '2453f80431877254016377c5e36e49046aec3d80'), (12, 'Dwayne', 0, '(+243)837028746', '[email protected]', 'Equateur', '10$', '2018-07-27', 'Airtel Money', '2453f80431877254016377c5e36e49046aec3d80'), (14, 'Patrick Bitafu Sabu', 27, '00822156182', '[email protected]', 'Kinshasa', '1000', '2018-07-22', 'Mpesa', 'ffd6c8edba114c86c1130600feac0e3eb11d5661'), (15, 'Mbuyi kaba', 14, '(+243)821307485', '[email protected]', 'Kinshasa', '1000', '2018-07-21', 'Mpesa', 'c60a535544b1c1fcf05fab35d7f33aa8dbcd0cb3'), (16, 'Korzo Barni Clavis', 15, '+44512223489', '[email protected]', 'Kinshasa', '1000', '2018-07-22', 'Mpesa', '549a53d9060d1e3bd995a8d7a9ed451dbed90c71'), (17, 'Korzo Barni Vilenia', 14, '+44512223489', '[email protected]', 'Kinshasa', '1000', '2018-07-22', 'Airtel Money', 'fea4e1eb91d28b1544a362c085c3e9d2fb4273d1'), (18, 'Malik', 8, '08114278309', '[email protected]', 'Kinshasa', '10$', '2018-09-09', 'Mpesa', '7e1e1d11c6d0585a2fbf1d02dbdd83dbea154e80'), (19, 'Hussein', 18, '0972123456', '[email protected]', 'Equateur', '10$', '2018-09-10', 'Airtel Money', '7e1e1d11c6d0585a2fbf1d02dbdd83dbea154e80'), (20, 'Hassan', 18, '0986543456', '[email protected]', 'Province Orientale', '10$', '2018-09-11', 'Airtel Money', '7e1e1d11c6d0585a2fbf1d02dbdd83dbea154e80'), (21, 'Ahmed', 19, '0825647389', '[email protected]', 'Nord Kivu', '10$', '2018-09-12', 'Orange Money', '7e1e1d11c6d0585a2fbf1d02dbdd83dbea154e80'), (22, 'Andrew', 19, '0374976372', '[email protected]', 'Bandundu', '10$', '2018-09-05', 'Airtel Money', '7e1e1d11c6d0585a2fbf1d02dbdd83dbea154e80'), (23, 'Talent', 18, '0938403647', '[email protected]', 'Kongo Central', '10$', '2018-09-05', 'Airtel Money', '7e1e1d11c6d0585a2fbf1d02dbdd83dbea154e80'), (24, 'Pedro', 19, '03849393847', '[email protected]', 'Kongo Central', '10$', '2018-09-06', 'Mpesa', '7e1e1d11c6d0585a2fbf1d02dbdd83dbea154e80'), (25, 'Vingu', 18, '78909', '[email protected]', 'Bandundu', '10$', '2018-09-20', 'Airtel Money', '7e1e1d11c6d0585a2fbf1d02dbdd83dbea154e80'), (26, 'ngoma', 18, '93038', '[email protected]', 'Kasai Occidental', '10$', '2018-09-21', 'Orange Money', '7e1e1d11c6d0585a2fbf1d02dbdd83dbea154e80'), (27, 'Lea', 18, '2930', '[email protected]', 'Province Orientale', '10$', '2018-09-20', 'Orange Money', '7e1e1d11c6d0585a2fbf1d02dbdd83dbea154e80')
Sauf que je ne sais pas où placer le code de la recursivité. Le code suivant :
with recursive cte (`id`, `idparrain`, `nbre`) as
( select id,
idparrain,
0 as nbre
from `membre`
union all
select m.id,
m.idparrain,
1 as nbre
from `membre` as m
inner join cte
on m.id=cte.idparrain
)
select id, sum(nbre) as qte
from cte
group by id
A voir également:
- A propos d'un calcul recursif
- Calcul km marche à pied gratuit - Télécharger - Sport
- Calcul charpente bois gratuit - Télécharger - Architecture & Déco
- Calcul alimentation pc - Guide
- Logiciel gratuit calcul surface m2 - Télécharger - Outils professionnels
- Calcul de la moyenne - Guide
Bien que son nom contienne "mysql" .. il permet également de manipuler des bases sqlserver.
Sachant que tu as posté dans le forum sqlserver... le doute est possible.... et ta réponse ne me rassure pas sur tes connaissances dans ce domaine.
Donc avant que je ne cherche une réponse à ton souci... j'aimerai savoir si je dois déplacer ta question dans le bon forum....
Bonjour,
Oui, vous pouvez le déplacer. Merci.
Bonjour,
Oui, vous pouvez le déplacer. Merci.