A propos d'un calcul recursif
seviv2018
Messages postés
10
Date d'inscription
Statut
Membre
Dernière intervention
-
jordane45 Messages postés 38486 Date d'inscription Statut Modérateur Dernière intervention -
jordane45 Messages postés 38486 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', 'georges@yahoo.fr', 'Kongo Central', '100$', '2018-07-19', 'Mpesa', '2453f80431877254016377c5e36e49046aec3d80'), ( 8, 'Sevi Vingu', 7, '(+243)978374637', 'sevi@tozaa.net', 'Kinshasa', '100$', '2018-07-12', 'Airtel Money', '7e1e1d11c6d0585a2fbf1d02dbdd83dbea154e80'), ( 9, 'Alex', 7, '(+243)821307485', 'alex@voila.fr', 'Equateur', '10$', '2018-07-12', 'Airtel Money', '2453f80431877254016377c5e36e49046aec3d80'), (10, 'Bob', 7, '(+243)814658204', 'bob@voici.fr', 'Kasai Oriental', '10$', '2018-07-28', 'Orange Money', '2453f80431877254016377c5e36e49046aec3d80'), (11, 'Annie', 7, '(+243)907070443', 'annie@caramail.com', 'Kinshasa', '100$', '2018-07-04', 'Airtel Money', '2453f80431877254016377c5e36e49046aec3d80'), (12, 'Dwayne', 0, '(+243)837028746', 'dwayne@yahoo.fr', 'Equateur', '10$', '2018-07-27', 'Airtel Money', '2453f80431877254016377c5e36e49046aec3d80'), (14, 'Patrick Bitafu Sabu', 27, '00822156182', 'patrickbibu@gmail.com', 'Kinshasa', '1000', '2018-07-22', 'Mpesa', 'ffd6c8edba114c86c1130600feac0e3eb11d5661'), (15, 'Mbuyi kaba', 14, '(+243)821307485', 'aaron@yahoo.fr', 'Kinshasa', '1000', '2018-07-21', 'Mpesa', 'c60a535544b1c1fcf05fab35d7f33aa8dbcd0cb3'), (16, 'Korzo Barni Clavis', 15, '+44512223489', 'lixcor@gmail.com', 'Kinshasa', '1000', '2018-07-22', 'Mpesa', '549a53d9060d1e3bd995a8d7a9ed451dbed90c71'), (17, 'Korzo Barni Vilenia', 14, '+44512223489', 'lixcordabi@gmail.com', 'Kinshasa', '1000', '2018-07-22', 'Airtel Money', 'fea4e1eb91d28b1544a362c085c3e9d2fb4273d1'), (18, 'Malik', 8, '08114278309', 'malik@gmail.com', 'Kinshasa', '10$', '2018-09-09', 'Mpesa', '7e1e1d11c6d0585a2fbf1d02dbdd83dbea154e80'), (19, 'Hussein', 18, '0972123456', 'hussein@gmail.com', 'Equateur', '10$', '2018-09-10', 'Airtel Money', '7e1e1d11c6d0585a2fbf1d02dbdd83dbea154e80'), (20, 'Hassan', 18, '0986543456', 'hassan@gmail.com', 'Province Orientale', '10$', '2018-09-11', 'Airtel Money', '7e1e1d11c6d0585a2fbf1d02dbdd83dbea154e80'), (21, 'Ahmed', 19, '0825647389', 'ahmed@gmail.com', 'Nord Kivu', '10$', '2018-09-12', 'Orange Money', '7e1e1d11c6d0585a2fbf1d02dbdd83dbea154e80'), (22, 'Andrew', 19, '0374976372', 'andrew@gmail.com', 'Bandundu', '10$', '2018-09-05', 'Airtel Money', '7e1e1d11c6d0585a2fbf1d02dbdd83dbea154e80'), (23, 'Talent', 18, '0938403647', 'talent@gmail.com', 'Kongo Central', '10$', '2018-09-05', 'Airtel Money', '7e1e1d11c6d0585a2fbf1d02dbdd83dbea154e80'), (24, 'Pedro', 19, '03849393847', 'pedro@gmail.com', 'Kongo Central', '10$', '2018-09-06', 'Mpesa', '7e1e1d11c6d0585a2fbf1d02dbdd83dbea154e80'), (25, 'Vingu', 18, '78909', 'vingu@gmail.com', 'Bandundu', '10$', '2018-09-20', 'Airtel Money', '7e1e1d11c6d0585a2fbf1d02dbdd83dbea154e80'), (26, 'ngoma', 18, '93038', 'ngoma@gmail.com', 'Kasai Occidental', '10$', '2018-09-21', 'Orange Money', '7e1e1d11c6d0585a2fbf1d02dbdd83dbea154e80'), (27, 'Lea', 18, '2930', 'lea@gmail.com', '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 moyenne excel - Guide
- Calcul charpente bois gratuit - Télécharger - Architecture & Déco
- Logiciel gratuit calcul valeur nutritionnelle - Télécharger - Santé & Bien-être
- Logiciel gratuit calcul surface m2 - Télécharger - Outils professionnels
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.