Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1687 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  requete sql complexe

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

requete sql complexe

n°1316134
isa21493
Posté le 01-03-2006 à 13:49:04  profilanswer
 

Bonjour à tous,  
 
voici ma table:  
 
 
bug---------date_modified-----------------old_value------new_value  
 
140---------01/02/2005 14:36:54---------10--------------15  
140---------02/02/2005 09:50:16---------15--------------20  
140---------02/02/2005 12:07:36---------20--------------30  
140---------02/02/2005 17:44:15---------30--------------20  
140---------03/02/2005 13:43:23---------20--------------30  
140---------22/02/2005 11:09:37---------30--------------45  
140---------24/02/2005 18:33:05---------45--------------80  
140---------04/03/2005 12:23:50---------80--------------90  
140---------29/03/2005 15:05:40---------90--------------20  
140---------29/03/2005 15:05:50---------20--------------15  
140---------29/03/2005 15:11:25---------15--------------20  
140---------09/06/2005 16:42:45---------20--------------30  
140---------15/06/2005 11:39:25---------30--------------20  
140---------29/06/2005 11:18:17---------20--------------30  
140---------29/07/2005 10:12:38---------30--------------45  
140---------18/08/2005 18:29:47---------45--------------80  
140---------10/10/2005 12:17:49---------80--------------45  
140---------20/10/2005 11:24:58---------45--------------40  
140---------20/10/2005 11:25:20---------40--------------45  
140---------17/01/2006 16:44:08---------45--------------80  
140---------06/02/2006 10:15:46---------80--------------90  
 
 
voici ce que je voudrais faire:  
 
je voudrais, pour une plage de date donnée, regarder si le bug est en 80 ou en 90 à la fin de la plage de date.  
donc pour  
 
140---------22/02/2005 11:09:37---------30--------------45  
140---------24/02/2005 18:33:05---------45--------------80  
140---------04/03/2005 12:23:50---------80--------------90  
140---------29/03/2005 15:05:40---------90--------------20  
 
je ne veux pas récupérer le bug  
 
par contre pour  
 
140---------22/02/2005 11:09:37---------30--------------45  
140---------24/02/2005 18:33:05---------45--------------80  
140---------04/03/2005 12:23:50---------80--------------90  
 
je veux récupérer le bug  
 
mais, si je récupère le bug il me faut la date la plus ancienne pour 80 et 90, c'est à dire que si le bug est 80 puis 90 je dois récupérer la date du premier (80)  
 
ex:  
140---------22/02/2005 11:09:37---------30--------------45  
140---------24/02/2005 18:33:05---------45--------------80  
140---------04/03/2005 12:23:50---------80--------------90  
 
je récupère 24/02/2005  
 
meme chose si:  
 
140---------22/02/2005 11:09:37---------30--------------45  
140---------24/02/2005 18:33:05---------45--------------80  
140---------03/03/2005 12:23:50---------80--------------90  
140---------04/03/2005 12:23:50---------90--------------80  
 
je veux récupérer 24/02/2005  
 
et tout ceci dans une requete SQL .
 
résumé:
sur une durée donnée, si la dernière date_modified n'a pas une new_value à 80 ou 90 alors je ne compte pas le bug_id dans mon nombre de bug  
si par contre la new_value est à 80 ou 90 alors il faut que je regarde si la new_value d'avant est à 80 ou 90 et si la new value d'avant avant est à 80 ou 90 ... et prendre la date_modified du tout premier 80 ou 90
 
 
Merci de votre aide.

mood
Publicité
Posté le 01-03-2006 à 13:49:04  profilanswer
 

n°1316142
anapajari
s/travail/glanding on hfr/gs;
Posté le 01-03-2006 à 13:55:59  profilanswer
 

t'as écrit quoi pour l'instant?  
Et avec ça, quels sont les problèmes?

n°1316170
isa21493
Posté le 01-03-2006 à 14:12:48  profilanswer
 

anapajari a écrit :

t'as écrit quoi pour l'instant?  
Et avec ça, quels sont les problèmes?


 
pour l'instant j'ai écrit ça:
 

Code :
  1. SELECT Requête3.bug_id, Last(Requête3.date_modified) AS DernierDedate_modified
  2. FROM Requête3
  3. WHERE (((Requête3.date_modified) Between #10/1/2005# And #19/1/2005#) AND ((Requête3.new_value)="80" Or (Requête3.new_value)="90" ) AND ((Requête3.old_value)<>"80" And (Requête3.old_value)<>"90" ))
  4. GROUP BY Requête3.bug_id;


 
Le problème c'est que là entre 10/1/2005 et 19/01/2005  
 
si ya ça dans la table :
 
bug_id----date_modified------------- old_value--------- new_value
12--------13/01/2005 19:26:28------ 10----------------80
12--------18/01/2005 17:38:15------80----------------45
12--------18/01/2005 17:39:37------ 45----------------90
12--------18/01/2005 17:39:59------ 90----------------80
12--------18/01/2005 17:50:28------ 80----------------90
 
il me donne bien la date 18/01/2005 17:39:37 qui correspond au premier 80 ou 90
par contre si j'ai ça:
 
bug_id----date_modified------------- old_value--------- new_value
 
12--------13/01/2005 19:26:28------ 10----------------80
12--------18/01/2005 17:38:15------80----------------45
12--------18/01/2005 17:39:37------ 45----------------90
12--------18/01/2005 17:39:59------ 90----------------10
12--------18/01/2005 17:50:28------ 10----------------40
 
il va quand meme me renvoyer 18/01/2005 17:39:37 alors que moi je veux qu'il ne me renvoi rien, je ne veux pas qu'il me compte le bug car il finit par un 40
 
 
 

n°1316735
Beegee
Posté le 02-03-2006 à 09:44:54  profilanswer
 

Essaye quelquechose comme ça :
 

Code :
  1. DROP TABLE requete3;
  2. CREATE TABLE requete3
  3. (bug NUMBER(9),
  4. date_modified DATE,
  5. old_value NUMBER(9),
  6. new_value NUMBER(9));
  7. INSERT INTO requete3 VALUES (140, TO_DATE('01/02/2005 14:36:54', 'DD/MM/YYYY HH24:MI:SS'), 10, 15);
  8. INSERT INTO requete3 VALUES (140, TO_DATE('02/02/2005 09:50:16', 'DD/MM/YYYY HH24:MI:SS'), 15, 20);
  9. INSERT INTO requete3 VALUES (140, TO_DATE('02/02/2005 12:07:36', 'DD/MM/YYYY HH24:MI:SS'), 20, 30);
  10. INSERT INTO requete3 VALUES (140, TO_DATE('02/02/2005 17:44:15', 'DD/MM/YYYY HH24:MI:SS'), 30, 20);
  11. INSERT INTO requete3 VALUES (140, TO_DATE('03/02/2005 13:43:23', 'DD/MM/YYYY HH24:MI:SS'), 20, 30);
  12. INSERT INTO requete3 VALUES (140, TO_DATE('22/02/2005 11:09:37', 'DD/MM/YYYY HH24:MI:SS'), 40, 45);
  13. INSERT INTO requete3 VALUES (140, TO_DATE('24/02/2005 18:33:05', 'DD/MM/YYYY HH24:MI:SS'), 45, 80);
  14. INSERT INTO requete3 VALUES (140, TO_DATE('04/03/2005 12:23:50', 'DD/MM/YYYY HH24:MI:SS'), 80, 90);
  15. INSERT INTO requete3 VALUES (140, TO_DATE('29/03/2005 15:05:40', 'DD/MM/YYYY HH24:MI:SS'), 90, 20);
  16. INSERT INTO requete3 VALUES (140, TO_DATE('29/03/2005 15:05:50', 'DD/MM/YYYY HH24:MI:SS'), 20, 15);
  17. INSERT INTO requete3 VALUES (140, TO_DATE('29/03/2005 15:11:25', 'DD/MM/YYYY HH24:MI:SS'), 15, 20);
  18. INSERT INTO requete3 VALUES (140, TO_DATE('09/06/2005 16:42:45', 'DD/MM/YYYY HH24:MI:SS'), 20, 30);
  19. INSERT INTO requete3 VALUES (140, TO_DATE('15/06/2005 11:39:25', 'DD/MM/YYYY HH24:MI:SS'), 30, 20);
  20. INSERT INTO requete3 VALUES (140, TO_DATE('29/06/2005 11:18:17', 'DD/MM/YYYY HH24:MI:SS'), 20, 30);
  21. INSERT INTO requete3 VALUES (140, TO_DATE('29/07/2005 10:12:38', 'DD/MM/YYYY HH24:MI:SS'), 30, 45);
  22. INSERT INTO requete3 VALUES (140, TO_DATE('18/08/2005 18:29:47', 'DD/MM/YYYY HH24:MI:SS'), 45, 80);
  23. INSERT INTO requete3 VALUES (140, TO_DATE('10/10/2005 12:17:49', 'DD/MM/YYYY HH24:MI:SS'), 80, 45);
  24. INSERT INTO requete3 VALUES (140, TO_DATE('20/10/2005 11:24:58', 'DD/MM/YYYY HH24:MI:SS'), 45, 40);
  25. INSERT INTO requete3 VALUES (140, TO_DATE('20/10/2005 11:25:20', 'DD/MM/YYYY HH24:MI:SS'), 40, 45);
  26. INSERT INTO requete3 VALUES (140, TO_DATE('17/01/2006 16:44:08', 'DD/MM/YYYY HH24:MI:SS'), 45, 80);
  27. INSERT INTO requete3 VALUES (140, TO_DATE('06/02/2006 10:15:46', 'DD/MM/YYYY HH24:MI:SS'), 80, 90);
  28. SELECT * FROM requete3;
  29. SELECT MIN(date_modified) FROM requete3
  30. WHERE date_modified >= TO_DATE('22/02/2005 11:09:37', 'DD/MM/YYYY HH24:MI:SS')
  31. AND date_modified <= TO_DATE('29/03/2005 15:05:40', 'DD/MM/YYYY HH24:MI:SS')
  32. AND EXISTS
  33. (SELECT 1
  34. FROM requete3
  35. WHERE date_modified =
  36. (SELECT MAX(date_modified)
  37.   FROM requete3
  38.   WHERE date_modified >= TO_DATE('22/02/2005 11:09:37', 'DD/MM/YYYY HH24:MI:SS')
  39.   AND date_modified <= TO_DATE('29/03/2005 15:05:40', 'DD/MM/YYYY HH24:MI:SS'))
  40. AND new_value IN (80, 90))
  41. AND new_value IN (80, 90);
  42. => aucune ligne
  43. SELECT MIN(date_modified) FROM requete3
  44. WHERE date_modified >= TO_DATE('29/07/2005 10:12:38', 'DD/MM/YYYY HH24:MI:SS')
  45. AND date_modified <= TO_DATE('06/02/2006 10:15:46', 'DD/MM/YYYY HH24:MI:SS')
  46. AND EXISTS
  47. (SELECT 1
  48. FROM requete3
  49. WHERE date_modified =
  50. (SELECT MAX(date_modified)
  51.   FROM requete3
  52.   WHERE date_modified >= TO_DATE('29/07/2005 10:12:38', 'DD/MM/YYYY HH24:MI:SS')
  53.   AND date_modified <= TO_DATE('06/02/2006 10:15:46', 'DD/MM/YYYY HH24:MI:SS'))
  54. AND new_value IN (80, 90))
  55. AND new_value IN (80, 90);
  56. => 18/08/2005 18:29:47


 
edit : exemple sous Oracle, à adapter pour un autre SGBD.

Message cité 1 fois
Message édité par Beegee le 02-03-2006 à 09:46:00
n°1316739
isa21493
Posté le 02-03-2006 à 09:54:02  profilanswer
 

Beegee a écrit :

Essaye quelquechose comme ça :
 

Code :
  1. SELECT MIN(date_modified) FROM requete3
  2. WHERE date_modified >= TO_DATE('29/07/2005 10:12:38', 'DD/MM/YYYY HH24:MI:SS')
  3. AND date_modified <= TO_DATE('06/02/2006 10:15:46', 'DD/MM/YYYY HH24:MI:SS')
  4. AND EXISTS
  5. (SELECT 1
  6. FROM requete3
  7. WHERE date_modified =
  8. (SELECT MAX(date_modified)
  9.   FROM requete3
  10.   WHERE date_modified >= TO_DATE('29/07/2005 10:12:38', 'DD/MM/YYYY HH24:MI:SS')
  11.   AND date_modified <= TO_DATE('06/02/2006 10:15:46', 'DD/MM/YYYY HH24:MI:SS'))
  12. AND new_value IN (80, 90))
  13. AND new_value IN (80, 90);
  14. => 18/08/2005 18:29:47


 
edit : exemple sous Oracle, à adapter pour un autre SGBD.


 
c'est très bien pour le premier exemple mais pas pour le deuxième malheureusement.  
En fait il faut que entre le 29/07/2005 et le 06/02/2006 je récupère '17/01/2006 16:44:08' et non 18/08/2005 18:29:47
 
 

Code :
  1. INSERT INTO requete3 VALUES (140, TO_DATE('29/07/2005 10:12:38', 'DD/MM/YYYY HH24:MI:SS'), 30,45);
  2. INSERT INTO requete3 VALUES (140, TO_DATE('18/08/2005 18:29:47', 'DD/MM/YYYY HH24:MI:SS'), 45, 80);
  3. INSERT INTO requete3 VALUES (140, TO_DATE('10/10/2005 12:17:49', 'DD/MM/YYYY HH24:MI:SS'), 80, 45);
  4. INSERT INTO requete3 VALUES (140, TO_DATE('20/10/2005 11:24:58', 'DD/MM/YYYY HH24:MI:SS'), 45, 40);
  5. INSERT INTO requete3 VALUES (140, TO_DATE('20/10/2005 11:25:20', 'DD/MM/YYYY HH24:MI:SS'), 40, 45);
  6. INSERT INTO requete3 VALUES (140, TO_DATE('17/01/2006 16:44:08', 'DD/MM/YYYY HH24:MI:SS'), 45, 80);
  7. INSERT INTO requete3 VALUES (140, TO_DATE('06/02/2006 10:15:46', 'DD/MM/YYYY HH24:MI:SS'), 80, 90);


 
il ne faut pas que je récupère le premier 80 mais le premier avant le dernier
 
80
40
50
80
90
 
je récupère le 4ème
 
80
40
80
90
80
 
je récupère le 3ème
 
80
50
90
 
je récupère le dernier.
 

n°1316767
Beegee
Posté le 02-03-2006 à 10:36:36  profilanswer
 

l'avant-dernier s'il y en a 2 consécutifs en fin de chaine, sinon le dernier ... je vais regarder.

n°1316769
isa21493
Posté le 02-03-2006 à 10:37:25  profilanswer
 

ou l'avant avant dernier si yen a 3 consécutifs, etc ...
c'est compliqué :-(

n°1316834
Beegee
Posté le 02-03-2006 à 11:44:41  profilanswer
 

ah ok, la première date_modified pour les new_value consecutives et contenant 80 ou 90 ...
 
donc il faut exclure les résultat tels qu'il existe une ligne à une date supérieure avec un new_value étant ni 80 ni 90.
 
Essaye ça pour voir :
 

Code :
  1. SELECT MIN(date_modified) FROM requete3 r3
  2. WHERE date_modified >= TO_DATE('22/02/2005 11:09:37', 'DD/MM/YYYY HH24:MI:SS')
  3. AND date_modified <= TO_DATE('06/02/2006 10:15:46', 'DD/MM/YYYY HH24:MI:SS')
  4. AND EXISTS
  5. (SELECT 1
  6. FROM requete3
  7. WHERE date_modified =
  8. (SELECT MAX(date_modified)
  9.   FROM requete3
  10.   WHERE date_modified >= TO_DATE('22/02/2005 11:09:37', 'DD/MM/YYYY HH24:MI:SS')
  11.   AND date_modified <= TO_DATE('06/02/2006 10:15:46', 'DD/MM/YYYY HH24:MI:SS'))
  12. AND new_value IN (80, 90))
  13. AND new_value IN (80, 90)
  14. AND NOT EXISTS
  15. (SELECT 1
  16. FROM requete3
  17. WHERE date_modified > r3.date_modified
  18. AND new_value NOT IN (80, 90));


Message édité par Beegee le 02-03-2006 à 11:48:17
n°1316837
isa21493
Posté le 02-03-2006 à 11:51:35  profilanswer
 

oui voilà si ya cette suite là par exemple:
 
20 => 01/02/2005
40 => 02/02/2005
80 => 03/02/2005
90 => 04/02/2005
30 => 05/02/2005
60 => 06/02/2005
80 => 07/02/2005
90 => 08/02/2005
80 => 09/02/2005
90 => 10/02/2005
 
si c'est sur 01/2005 alors il faut que je récupère 80 => 07/02/2005
si c'est du 01 au 05/02/2005 il faut que je ne récupère rien car ça se finit pas par 80 ou 90
si c'est du 01 au 04/02/2005 et bien je récupère 80 => 03/02/2005
si c'est du 01 au 03/02/2005 et bien je récupère 80 => 03/02/2005
 
c'est difficile à expliquer ...

n°1316839
isa21493
Posté le 02-03-2006 à 11:52:24  profilanswer
 

isa21493 a écrit :


 
si c'est sur 01/2005 alors il faut que je récupère 80 => 07/02/2005
 


 
oups sur 02/2005 pardon

mood
Publicité
Posté le 02-03-2006 à 11:52:24  profilanswer
 

n°1316885
Beegee
Posté le 02-03-2006 à 12:35:26  profilanswer
 

tu as essayé la nouvelle requête que je t'ai donnée plus haut ? :)

n°1316890
isa21493
Posté le 02-03-2006 à 12:44:03  profilanswer
 

sous access la requete donne ça:
 

Code :
  1. SELECT Min(date_modified) AS Expr1
  2. FROM Requête3 AS r3
  3. WHERE (((r3.date_modified) Between #2/22/2005# And #2/6/2006#) AND ((Exists (SELECT 1
  4. FROM Requête3
  5. WHERE date_modified =
  6. (SELECT MAX(date_modified)
  7.   FROM Requête3
  8.   WHERE date_modified >= ('22/02/2005')
  9.   AND date_modified <= ('06/02/2006'))
  10. AND new_value IN (80, 90)))<>False) AND ((r3.new_value) In (80,90)) AND ((Exists (SELECT 1
  11. FROM Requête3
  12. WHERE date_modified > r3.date_modified
  13. AND new_value NOT IN (80, 90)))=False));


 
mais j'ai une erreur:
"Type de données incompatibles dans l'expression du critère"

n°1316893
isa21493
Posté le 02-03-2006 à 12:45:34  profilanswer
 

Code :
  1. SELECT Min(date_modified) AS Expr1
  2. FROM Requête3 AS r3
  3. WHERE (((r3.date_modified) Between #2/22/2005# And #2/6/2006#) AND ((Exists (SELECT 1
  4. FROM Requête3
  5. WHERE date_modified =
  6. (SELECT MAX(date_modified)
  7.   FROM Requête3
  8.   WHERE ((r3.date_modified) Between #2/22/2005# And #2/6/2006#))
  9. AND new_value IN (80, 90)))<>False) AND ((r3.new_value) In (80,90)) AND ((Exists (SELECT 1
  10. FROM Requête3
  11. WHERE date_modified > r3.date_modified
  12. AND new_value NOT IN (80, 90)))=False));

n°1316895
Beegee
Posté le 02-03-2006 à 12:48:13  profilanswer
 

tu dois avoir un problème dans la réécriture pour Access, sour Oracle ma requête marche.

n°1316902
isa21493
Posté le 02-03-2006 à 12:52:16  profilanswer
 

ok ben je regarde
merci en tout cas

n°1316916
isa21493
Posté le 02-03-2006 à 13:16:37  profilanswer
 

en fait ma requete 3 est pas une table mais une requete.
donc j'ai essayé de l'intégrer dans ta formule mais ça ne marche pas,
il dit qu'il ne trouve pas la table (select ...
 

Code :
  1. SELECT MIN(date_modified) FROM (SELECT table_bug_history_table.bug_id, table_bug_history_table.date_modified, table_bug_history_table.old_value, table_bug_history_table.new_value
  2. FROM table_custom_field_string_table INNER JOIN table_bug_history_table ON table_custom_field_string_table.bug_id=table_bug_history_table.bug_id
  3. WHERE (((table_custom_field_string_table.field_id)=1))
  4. GROUP BY table_bug_history_table.bug_id, table_bug_history_table.date_modified, table_bug_history_table.field_name, table_bug_history_table.old_value, table_bug_history_table.new_value
  5. HAVING (((table_bug_history_table.field_name)='status'))
  6. ORDER BY table_bug_history_table.bug_id, table_bug_history_table.date_modified) r3
  7. WHERE date_modified >= TO_DATE('22/02/2005 11:09:37', 'DD/MM/YYYY HH24:MI:SS')
  8. AND date_modified <= TO_DATE('06/02/2006 10:15:46', 'DD/MM/YYYY HH24:MI:SS')
  9. AND EXISTS
  10. (SELECT 1
  11. FROM (SELECT table_bug_history_table.bug_id, table_bug_history_table.date_modified, table_bug_history_table.old_value, table_bug_history_table.new_value
  12. FROM table_custom_field_string_table INNER JOIN table_bug_history_table ON table_custom_field_string_table.bug_id=table_bug_history_table.bug_id
  13. WHERE (((table_custom_field_string_table.field_id)=1))
  14. GROUP BY table_bug_history_table.bug_id, table_bug_history_table.date_modified, table_bug_history_table.field_name, table_bug_history_table.old_value, table_bug_history_table.new_value
  15. HAVING (((table_bug_history_table.field_name)='status'))
  16. ORDER BY table_bug_history_table.bug_id, table_bug_history_table.date_modified) tab
  17. WHERE date_modified =
  18. (SELECT MAX(date_modified)
  19.   FROM (SELECT table_bug_history_table.bug_id, table_bug_history_table.date_modified, table_bug_history_table.old_value, table_bug_history_table.new_value
  20. FROM table_custom_field_string_table INNER JOIN table_bug_history_table ON table_custom_field_string_table.bug_id=table_bug_history_table.bug_id
  21. WHERE (((table_custom_field_string_table.field_id)=1))
  22. GROUP BY table_bug_history_table.bug_id, table_bug_history_table.date_modified, table_bug_history_table.field_name, table_bug_history_table.old_value, table_bug_history_table.new_value
  23. HAVING (((table_bug_history_table.field_name)='status'))
  24. ORDER BY table_bug_history_table.bug_id, table_bug_history_table.date_modified) tab2
  25.   WHERE date_modified >= TO_DATE('22/02/2005 11:09:37', 'DD/MM/YYYY HH24:MI:SS')
  26.   AND date_modified <= TO_DATE('06/02/2006 10:15:46', 'DD/MM/YYYY HH24:MI:SS'))
  27. AND new_value IN (80, 90))
  28. AND new_value IN (80, 90)
  29. AND NOT EXISTS
  30. (SELECT 1
  31. FROM (SELECT table_bug_history_table.bug_id, table_bug_history_table.date_modified, table_bug_history_table.old_value, table_bug_history_table.new_value
  32. FROM table_custom_field_string_table INNER JOIN table_bug_history_table ON table_custom_field_string_table.bug_id=table_bug_history_table.bug_id
  33. WHERE (((table_custom_field_string_table.field_id)=1))
  34. GROUP BY table_bug_history_table.bug_id, table_bug_history_table.date_modified, table_bug_history_table.field_name, table_bug_history_table.old_value, table_bug_history_table.new_value
  35. HAVING (((table_bug_history_table.field_name)='status'))
  36. ORDER BY table_bug_history_table.bug_id, table_bug_history_table.date_modified) tab3
  37. WHERE date_modified > r3.date_modified
  38. AND new_value NOT IN (80, 90));


n°1317875
isa21493
Posté le 03-03-2006 à 15:38:07  profilanswer
 

j'arrive vraiment pas à transformer la requete de oracle à access


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  requete sql complexe

 

Sujets relatifs
demande d'aide REQUETE COMPLEXE[SQL - ORACLE] Requete un peu complexe (pour moi)
[ASP - Sql Server 2000] Défi pour trouver une requête complexeRequete complexe
(RESOLU) [PHP / Mysql] Requete SELECT très complexepetit problème pour requete sql un poil complexe
[SQL] problème complexe de requête[MySql] Pb de requete complexe
[Concours] Votre Requête MySQL la plus complexe[PHP] Requête assez complexe, need help
Plus de sujets relatifs à : requete sql complexe


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR