IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage SQL Discussion :

Requête SQL avec 2 count


Sujet :

Langage SQL

  1. #1
    Membre régulier Avatar de la_chouette
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    183
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 183
    Points : 121
    Points
    121
    Par défaut Requête SQL avec 2 count
    Bonjour,

    Je cherche à parcourir une table et faire 2 count dans une autre le tout en 1 requête, exemple:



    Voici la structure des deux tables:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    CREATE TABLE `terms` (
      `id` int(10) unsigned NOT NULL auto_increment,
      `term` varchar(50) NOT NULL default '',
      `status` enum('0','1') NOT NULL default '0',
      PRIMARY KEY  (`id`),
      KEY `term` (`term`),
      KEY `status` (`status`)
    ) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
     
    CREATE TABLE `suggests` (
      `id` int(10) unsigned NOT NULL auto_increment,
      `suggest` varchar(50) NOT NULL default '',
      `termid` smallint(6) unsigned NOT NULL default '0',
      `status` enum('0','1') NOT NULL default '0',
      PRIMARY KEY  (`id`),
      UNIQUE KEY `suggest` (`suggest`),
      KEY `termid` (`termid`),
      KEY `status` (`status`)
    ) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
    et la requête utilisée pour le moment:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    SELECT t.id, t.term, tmp_todo.nb_todo, tmp_done.nb_done
    	FROM terms t
    LEFT JOIN (SELECT s.termid, count(s.status) AS nb_todo FROM suggests s WHERE s.status = '0' GROUP BY s.termid) tmp_todo ON t.id = tmp_todo.termid
    LEFT JOIN (SELECT s.termid, count(s.status) AS nb_done FROM suggests s WHERE s.status = '1' GROUP BY s.termid) tmp_done ON t.id = tmp_done.termid
    	WHERE t.status = '0'
    GROUP BY t.id
    	ORDER BY t.term ASC
    LIMIT 10
    Quand j'utilise cette requête dans une boucle while, ceci boucle sur le premier résultat uniquement...

    Merci d'avance pour votre aide, cordialement

  2. #2
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 173
    Points : 5 345
    Points
    5 345
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    select t.id, t.term, 
       count(*) - sum(s.status) as "SUGGEST / STATUS 0",
       sum(status) as "SUGGEST / STATUS 1"
    from terms t
    inner join suggest s on s.term_id = t.id
    where t.status = 0
    group by t.id, t.term

  3. #3
    Membre régulier Avatar de la_chouette
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    183
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 183
    Points : 121
    Points
    121
    Par défaut
    Bonjour,

    merci pour votre aide.

    J'ai modifier la requête légèrement mais ne n'obtiens aucun résultat:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    SELECT t.id, t.term, 
       count(*) - sum(s.status) AS "nb_todo / status 0",
       sum(s.status) AS "nb_done / status 1"
    FROM terms t
    	INNER JOIN suggests s ON s.termid = t.id
    WHERE t.status = 0
    	GROUP BY t.id, t.term
    ORDER BY t.term ASC LIMIT 10

  4. #4
    Membre expérimenté
    Homme Profil pro
    Ingenieur de recherche - Ecologue
    Inscrit en
    Juin 2003
    Messages
    1 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingenieur de recherche - Ecologue

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 152
    Points : 1 414
    Points
    1 414
    Par défaut
    voici ce que je te suggère :

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    SELECT Selection.Id,
           Selection.TERM,
           SUM(
           CASE
             WHEN Suggests.Status = 0 THEN
                 1
           END) AS Suggest_Status_0,
           SUM(
           CASE
             WHEN Suggests.Status = 1 THEN
                 1
           END) AS Suggest_Status_1
      FROM (SELECT Terms.Id,
                   Terms."TERM"
              FROM Terms
              WHERE Terms.Status = 0) AS Selection
        INNER JOIN Suggests ON (Suggests.Termid = Selection.Id)
      GROUP BY Selection.Id, Selection.TERM

  5. #5
    Membre régulier Avatar de la_chouette
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    183
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 183
    Points : 121
    Points
    121
    Par défaut
    Bonjour,

    merci également pour votre aide.

    Votre requête proposé ne retourne aucun résultat non plus...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    SELECT selection.id,
           selection.term,
           SUM(CASE WHEN suggests.status = 0 THEN 1 END) AS suggest_status_0,
           SUM( CASE WHEN suggests.status = 1 THEN 1 END) AS suggest_status_1
    FROM (SELECT terms.id, terms.term FROM terms WHERE terms.status = 0) AS selection
    	INNER JOIN suggests ON (suggests.termid = selection.id)
    GROUP BY selection.id, selection.term
    ORDER BY selection.term ASC LIMIT 10

  6. #6
    Membre expérimenté
    Homme Profil pro
    Ingenieur de recherche - Ecologue
    Inscrit en
    Juin 2003
    Messages
    1 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingenieur de recherche - Ecologue

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 152
    Points : 1 414
    Points
    1 414
    Par défaut
    j'ai créé les tables et données, et le résultat de la requête est cohérent avec votre exemple.

    et sans le LIMIT ?

    Battu par punkoff (et qui fonctionne aussi chez moi) et qui est meilleur en terme d'optimisation

  7. #7
    Membre régulier Avatar de la_chouette
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    183
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 183
    Points : 121
    Points
    121
    Par défaut
    Je vous assure que chez moi la requête suivante ne donne rien:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    SELECT t.id, t.term, 
       count(*) - sum(s.STATUS) AS "nb_todo / status 0",
       sum(s.STATUS) AS "nb_done / status 1"
    FROM terms t
    	INNER JOIN suggests s ON s.termid = t.id
    WHERE t.STATUS = 0
    	GROUP BY t.id, t.term
    ORDER BY t.term ASC
    Edit: voici mes deux tables chez moi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    CREATE TABLE IF NOT EXISTS `suggests` (
      `id` int(10) unsigned NOT NULL auto_increment,
      `suggest` varchar(50) NOT NULL default '',
      `termid` smallint(6) unsigned NOT NULL default '0',
      `status` enum('0','1') NOT NULL default '0',
      PRIMARY KEY  (`id`),
      UNIQUE KEY `suggest` (`suggest`),
      KEY `termid` (`termid`),
      KEY `status` (`status`)
    ) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=11 ;
     
    INSERT INTO `suggests` (`id`, `suggest`, `termid`, `status`) VALUES
    (1, 'bateau a', 2, '0'),
    (2, 'bateau a vendre', 2, '1'),
    (3, 'bateau amorceur', 2, '0'),
    (4, 'bateau a vapeur', 2, '1'),
    (5, 'maison algerie', 5, '0'),
    (6, 'bateau a voile', 2, '0'),
    (7, 'bateau a moteur', 2, '0'),
    (8, 'maison annecy', 5, '1'),
    (9, 'bateau antares', 2, '0'),
    (10, 'bateau arcachon', 2, '0');
     
     
    CREATE TABLE IF NOT EXISTS `terms` (
      `id` int(10) unsigned NOT NULL auto_increment,
      `term` varchar(50) NOT NULL default '',
      `status` enum('0','1') NOT NULL default '0',
      PRIMARY KEY  (`id`),
      KEY `term` (`term`),
      KEY `status` (`status`)
    ) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=6 ;
     
     
    INSERT INTO `terms` (`id`, `term`, `status`) VALUES
    (2, 'bateau', '0'),
    (5, 'maison', '0');

  8. #8
    Membre expérimenté
    Homme Profil pro
    Ingenieur de recherche - Ecologue
    Inscrit en
    Juin 2003
    Messages
    1 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingenieur de recherche - Ecologue

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 152
    Points : 1 414
    Points
    1 414
    Par défaut
    trouve

    c'est la colonne status de la table SUGGESTS est un alphanumerique (j'ai mis un entier).

    Soit changer le type de colonnes en lui indiquant que ce sont des numériques [je ne connais pas MYSQL, mais j'imagine possible] :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    `status` enum(0,1) NOT NULL DEFAULT 0,
    Ou modifier ma requête pour changer les CASEs :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SUM(CASE WHEN suggests.STATUS = '0' THEN 1 END) AS suggest_status_0,

  9. #9
    Membre régulier Avatar de la_chouette
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    183
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 183
    Points : 121
    Points
    121
    Par défaut
    Cela ne fonctionne toujours pas chez moi, je ne comprends pas pourquoi !

    Battu par punkoff (et qui fonctionne aussi chez moi) et qui est meilleur en terme d'optimisation
    Oui je suis d'accord aussi mais dommage qu'elle ne retourne aucun résultat....

  10. #10
    Membre régulier Avatar de la_chouette
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    183
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 183
    Points : 121
    Points
    121
    Par défaut
    Bonsoir,

    Je viens de trouver cette syntaxe SQL qui retourne un résultat correcte mais qui me semble pas du tout optimisé:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    SELECT t.id, t.term,
        COUNT(CASE WHEN suggests.status = '0' THEN 1 END) AS nb_todo,
        COUNT(CASE WHEN suggests.status = '1' THEN 1 END) AS nb_done
    FROM terms t
    	INNER JOIN suggests ON (suggests.termid = t.id)
    	WHERE t.status = '0'
    GROUP BY t.id ORDER BY t.term ASC LIMIT 10

  11. #11
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 173
    Points : 5 345
    Points
    5 345
    Par défaut
    Essayez aussi avec ceci dans la clause select :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT t.id, t.term,
        SUM(CASE WHEN suggests.STATUS = '0' THEN 1 else 0 END) AS nb_todo,
        SUM(CASE WHEN suggests.STATUS = '1' THEN 1 else 0 END) AS nb_done
    Ensuite, essayez avec les index suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    create index idx_sug_test on suggests (termid, status);
    create index idx_ter_test on terms (status, id);
    Et comparer les temps de réponse avec 1 des 2 index, les 2, la 1ere requete, la 2eme etc.


    edit : oula, j'ai loupé un truc, vous fait un group by sur une seule colonne uniquement !

    réécrivez votre requête ainsi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    SELECT t.id, t.term,
        COUNT(CASE WHEN suggests.STATUS = '0' THEN 1 END) AS nb_todo,
        COUNT(CASE WHEN suggests.STATUS = '1' THEN 1 END) AS nb_done
    FROM terms t
    	INNER JOIN suggests ON (suggests.termid = t.id)
    	WHERE t.STATUS = '0'
    GROUP BY t.id, t.term
    ORDER BY t.term ASC LIMIT 10
    Ensuite est-ce que fonctionnellement l'order by et le limit sont util ? sinon essayez sans.

  12. #12
    Membre régulier Avatar de la_chouette
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    183
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 183
    Points : 121
    Points
    121
    Par défaut
    Merci pour votre aide, en faite je me suis aperçu que si un term ne contient pas de suggestions associées avec le statut 0 ou 1, alors il n'est pas retourné comme résultat.

    édit:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    INNER JOIN suggests ON (suggests.termid = t.id)
    à la place
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    LEFT JOIN suggests ON (suggests.termid = t.id)

  13. #13
    Membre expérimenté
    Homme Profil pro
    Ingenieur de recherche - Ecologue
    Inscrit en
    Juin 2003
    Messages
    1 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingenieur de recherche - Ecologue

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 152
    Points : 1 414
    Points
    1 414
    Par défaut
    Je ne comprends pas ! Avec le INNER cela doit fonctionner...

    as-tu essayé sans les opérations de regroupement ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT t.id, t.term
    FROM terms t
    	INNER JOIN suggests ON (suggests.termid = t.id)
    	WHERE t.STATUS = '0'
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT t.id, t.term
    FROM terms t
    	INNER JOIN suggests ON (suggests.termid = t.id AND  t.STATUS = '0')

  14. #14
    Membre régulier Avatar de la_chouette
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    183
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 183
    Points : 121
    Points
    121
    Par défaut
    Bonjour,

    Cette requête fonctionne parfaitement, mais je doute de son optimisation:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    SELECT t.id, t.term, 
    	count(CASE WHEN suggests.status = '0' THEN 1 END) AS nb_todo, 
    	count(CASE WHEN suggests.status = '1' THEN 1 END) AS nb_done 
    FROM terms t 
    	LEFT JOIN suggests ON (suggests.termid = t.id) 
    WHERE t.status = '0' 
    	GROUP BY t.id 
    	ORDER BY t.term ASC
    Cette requête sera exécutée près de 70 000 fois dans des boucles while...

    J'ai essayé également de nouveau de reprendre l'idée de punkoff mais je sèche ...

  15. #15
    Membre expérimenté
    Homme Profil pro
    Ingenieur de recherche - Ecologue
    Inscrit en
    Juin 2003
    Messages
    1 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingenieur de recherche - Ecologue

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 152
    Points : 1 414
    Points
    1 414
    Par défaut
    As-tu essayé la requête INNER sans les regroupements ?

    Pourquoi n'essayes-tu pas de changer le type de la colonne STATUS en type numérique (ce qui te permet d'utiliser la première requête de PunkOff) ?


    Il y a des papiers virulents sur l'optimisation des requêtes externes dans MySQL par SQLPro .... pour résumer :

  16. #16
    Membre régulier Avatar de la_chouette
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    183
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 183
    Points : 121
    Points
    121
    Par défaut
    As tu essayer la requête INNER sans les regroupements ?
    Oui j'ai essayez, mais cela ne me retourne pas tout les term si aucune suggestion ne lui est associée.

    Pourquoi n'essayes tu pas de changer le type de la colonne STATUS en type numérique (ce qui te permet d'utiliser la première requête de PunkOff) ?
    Ah, je n'avais pas compris que ton conseil était pour la requête de PunkOff (je teste...)

    Il y a des papiers virulents sur l'optimisation des requêtes externes dans MySQL par SQLPro .... pour résumer
    Oui, la page est justement ouverte dans un autre onglet, je lit pour essayez de mettre en pratique...

    En tout cas merci, pour l'aide apportée !

  17. #17
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 173
    Points : 5 345
    Points
    5 345
    Par défaut
    Citation Envoyé par la_chouette Voir le message
    Bonjour,

    Cette requête fonctionne parfaitement, mais je doute de son optimisation:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    SELECT t.id, t.term, 
    	count(CASE WHEN suggests.status = '0' THEN 1 END) AS nb_todo, 
    	count(CASE WHEN suggests.status = '1' THEN 1 END) AS nb_done 
    FROM terms t 
    	LEFT JOIN suggests ON (suggests.termid = t.id) 
    WHERE t.status = '0' 
    	GROUP BY t.id 
    	ORDER BY t.term ASC
    Cette requête sera exécutée près de 70 000 fois dans des boucles while...
    ?????????? pour quelle raison ?

  18. #18
    Membre régulier Avatar de la_chouette
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    183
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 183
    Points : 121
    Points
    121
    Par défaut
    Bonjour,

    Parce que je fait un traitement sur chaque term contenu dans la table terms, je doit donc extraire les infos un à un afin de savoir si celui-ci à été traité ou pas...

    édit: sinon la requête est légèrement plus rapide que la mienne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    SELECT t.id, t.term, 
       count(s.status) - sum(s.status) AS nb_todo,
       sum(s.status) AS nb_done
    FROM terms t
    	LEFT JOIN suggests s ON s.termid = t.id
    WHERE t.status = '0' 
    	GROUP BY t.id 
    	ORDER BY t.term ASC

  19. #19
    Membre expérimenté
    Homme Profil pro
    Ingenieur de recherche - Ecologue
    Inscrit en
    Juin 2003
    Messages
    1 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingenieur de recherche - Ecologue

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 152
    Points : 1 414
    Points
    1 414
    Par défaut
    Citation Envoyé par la_chouette Voir le message
    Oui j'ai essayez, mais cela ne me retourne pas tout les term si aucune suggestion ne lui est associée.

    Que veux tu dire pas "si aucune suggestion ne lui est associée"


    Je suis un peu comme PunkOff ?????????????????

  20. #20
    Membre régulier Avatar de la_chouette
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    183
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 183
    Points : 121
    Points
    121
    Par défaut
    En faite si le term voiture à bien le statut 0 mais aucune suggestion dans la table suggests lui étant associé via id termid n'est trouver, alors le term ne sera pas retourner comme résultat...

    Pour simplifié:
    J'ai besoin d'extraire tout les term de la table terms en comptant séparément le nombre de suggestion lui étant associée dans la table suggests avec le statut 0 et 1...

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Requête SQL avec COUNT
    Par Kreepz dans le forum Langage SQL
    Réponses: 7
    Dernier message: 24/12/2014, 16h59
  2. Requête SQL avec Having Count
    Par illight dans le forum Langage SQL
    Réponses: 9
    Dernier message: 22/10/2013, 14h00
  3. [MySQL] Requête SQL avec un Count.
    Par Requiem11 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 11/05/2009, 11h01
  4. Problème de requête SQL avec DISTINCT et COUNT ?
    Par [ZiP] dans le forum Langage SQL
    Réponses: 4
    Dernier message: 29/01/2007, 17h11
  5. PB requète SQL avec Interbase
    Par missllyss dans le forum InterBase
    Réponses: 2
    Dernier message: 15/07/2003, 11h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo