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 :

[MySQL] dernieres entrees par utilisateur


Sujet :

Langage SQL

  1. #1
    Membre averti Avatar de bourvil
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    411
    Détails du profil
    Informations personnelles :
    Localisation : Israël

    Informations forums :
    Inscription : Juin 2002
    Messages : 411
    Points : 329
    Points
    329
    Par défaut [MySQL] dernieres entrees par utilisateur
    salut,
    voila mon probleme:
    j'ai deux tables:users - avec tous les renseignements des utilisateurs
    et items - avec toutes les annonces.
    dans la tables items j'ai un champs user_id qui relie les deux tables.
    je souhaiterai obtenir les deux dernieres annonces de tout mes users.
    j'ai pense faire ca avec un union mais ca parait tres lourd.
    quelqu'un a une idee?
    merci
    Franchement, je suis capable du meilleur comme du pire, mais, dans le pire, c'est moi le meilleur.
    Coluche

  2. #2
    Membre averti Avatar de piff62
    Inscrit en
    Décembre 2003
    Messages
    431
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations forums :
    Inscription : Décembre 2003
    Messages : 431
    Points : 417
    Points
    417
    Par défaut
    Citation Envoyé par bourvil
    salut,
    voila mon probleme:
    j'ai deux tables:users - avec tous les renseignements des utilisateurs
    et items - avec toutes les annonces.
    dans la tables items chez un champs user_id qui relie les deux tables.
    je souhaiterai obtenir les deux dernieres annonces de tout mes users.
    j'ai penser faire ca avec un union mais ca parait tres lourd.
    quelqu'un a une idee?
    merci
    Avec quel SGBDR travail tu? MySQL ? PostGreSQL? un autre?

  3. #3
    Membre averti Avatar de bourvil
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    411
    Détails du profil
    Informations personnelles :
    Localisation : Israël

    Informations forums :
    Inscription : Juin 2002
    Messages : 411
    Points : 329
    Points
    329
    Par défaut
    j'utilise Mysql
    Franchement, je suis capable du meilleur comme du pire, mais, dans le pire, c'est moi le meilleur.
    Coluche

  4. #4
    Membre expérimenté Avatar de Yanika_bzh
    Homme Profil pro
    Responsable Applicatif et R&D
    Inscrit en
    Février 2006
    Messages
    1 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Responsable Applicatif et R&D
    Secteur : Finance

    Informations forums :
    Inscription : Février 2006
    Messages : 1 144
    Points : 1 738
    Points
    1 738
    Par défaut
    Il faudrait que tu donnes le descriptif de tes tables pour qu'on puisse t'aider.
    Dans la connaissance du monde, ceux qui ne savent rien en savent toujours autant que ceux qui n'en savent pas plus qu'eux. (Pierre Dac)

  5. #5
    Membre averti Avatar de bourvil
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    411
    Détails du profil
    Informations personnelles :
    Localisation : Israël

    Informations forums :
    Inscription : Juin 2002
    Messages : 411
    Points : 329
    Points
    329
    Par défaut
    merci de vos reponses!

    table users:
    • clef: id
    • lname
    • fname
    • adresse
    • tel
    • created
    table items:
    • clefs: id
    • userd_id
    • annonce
    • created
    Franchement, je suis capable du meilleur comme du pire, mais, dans le pire, c'est moi le meilleur.
    Coluche

  6. #6
    Xo
    Xo est déconnecté
    Expert confirmé
    Avatar de Xo
    Inscrit en
    Janvier 2005
    Messages
    2 701
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 701
    Points : 4 238
    Points
    4 238
    Par défaut
    Voici une requête basique le démarrage : une jointure simple et un tri descendant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT lname, fname, annonce, created
      FROM Users INNER JOIN Items ON Users.id = UserId
     ORDER BY created DESC;
    - Si tu veux filtrer par user, il ne te reste qu'à rajouter une clause WHERE
    - Si tu veux limiter le nombre d'entrée, une recherche sur LIMIT dans ce forum te donnera la syntaxe appropriée,

    Bon code
    "Ce que l'on conçoit bien s'énonce clairement,
    Et les mots pour le dire arrivent aisément." Nicolas Boileau

    "Expliquer empêche de comprendre si cela dispense de chercher"

    Quiz Oracle : venez tester vos connaissances !

    La FAQ Oracle : 138 réponses à vos questions
    Aidez-nous à la compléter

  7. #7
    Membre averti Avatar de bourvil
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    411
    Détails du profil
    Informations personnelles :
    Localisation : Israël

    Informations forums :
    Inscription : Juin 2002
    Messages : 411
    Points : 329
    Points
    329
    Par défaut
    oui merci mais ca repond pas a mon probleme!
    je souhaiterais avoir les deux dernieres annonces de chaque users!
    et ca je peux pas le faire avec ce que tu m'as donner
    Franchement, je suis capable du meilleur comme du pire, mais, dans le pire, c'est moi le meilleur.
    Coluche

  8. #8
    Inactif   Avatar de Médiat
    Inscrit en
    Décembre 2003
    Messages
    1 946
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 946
    Points : 2 227
    Points
    2 227
    Par défaut
    Essaye :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    SELECT u.lname, u.fname, i1.annonce, i1.created
    FROM Users u inner join items i1 
                       on u.Id = i1.userd_id
                 inner join items i2 
                       on  u.Id = i2.userd_id
                       and i1.created >= i2.created
    GROUP BY u.lname, u.fname, u.id, i1.annonce, i1.created, i1.Id
    HAVING COUNT(*) <= 2
    J'affirme péremptoirement que toute affirmation péremptoire est fausse
    5ième élément : barde-prince des figures de style, duc de la synecdoque
    Je ne réponds jamais aux questions techniques par MP

  9. #9
    Membre averti Avatar de bourvil
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    411
    Détails du profil
    Informations personnelles :
    Localisation : Israël

    Informations forums :
    Inscription : Juin 2002
    Messages : 411
    Points : 329
    Points
    329
    Par défaut
    merci mediat mais ca ne marche pas! il manque des annonces et c'est tres long.

    j'avais essaye ca:
    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
     
    SELECT users.id , b1.id as annonce, b1.created
    FROM users
    LEFT OUTER JOIN board_items b1
    ON ( users.id= b1.user_id )
     
    LEFT OUTER JOIN board_items b2
    ON ( b1.user_id = b2.user_id AND b1.created <= b2.created )
    where   users.approved = 'Y'
     and users.expire_date > NOW() and 
     users.is_realtor='Y' and users.is_builder='N'
     and b1.expire_date > NOW()
     and 
     b1.active='Y' and 
     b1.show_site_only  = 'Y' and 
     ((TO_DAYS(NOW()) - TO_DAYS(b1.created) <= 180)) and 
     b1.paid <> 'N'
    GROUP BY users.id, b1.id
    HAVING COUNT(b1.id) <= 2
    ORDER BY users.id, b1.created
    mais la non plus ce me donne pas toutes les annonces
    Franchement, je suis capable du meilleur comme du pire, mais, dans le pire, c'est moi le meilleur.
    Coluche

Discussions similaires

  1. Logs requêtes MySQL par utilisateur
    Par JeyelDev dans le forum Administration
    Réponses: 7
    Dernier message: 02/12/2014, 12h47
  2. Bases de données MySQL par utilisateur Linux
    Par bnadem35 dans le forum Installation
    Réponses: 0
    Dernier message: 27/05/2010, 16h33
  3. recuperer valeur entree par utilisateur
    Par benjone dans le forum ActionScript 3
    Réponses: 3
    Dernier message: 28/12/2009, 17h17
  4. Réponses: 11
    Dernier message: 07/02/2009, 01h31
  5. Trouver les fichiers par utilisateurs
    Par calfater dans le forum Windows XP
    Réponses: 2
    Dernier message: 11/10/2005, 17h30

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