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 :

Soucis pour utiliser max(date)


Sujet :

Langage SQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    138
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 138
    Par défaut Soucis pour utiliser max(date)
    Bonjour,

    J'essaye de faire une requête pour récupérer les données de 2 tables, ma requête à l'air de tourner correctement, sans message d'erreur mais pourtant ça me sort zéro résultat.

    Ma requête doit me permettre de "piocher" dans 2 tables disctintes (bilan et societexx) les infos que j'ai besoin d'afficher. L'une des conditions est que je ne souhaite avoir que la "datecloture" la plus récente pour chaque "siret" (il y a plusieurs enregistrements pour chaque siret à des dates différentes)

    Voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    select b.SIRET, DENOMINATION, CODEPOSTAL, CHP_HN, datecloture
    from bilan b, societesxx s
    where b.SIRET in ('FR09577350424', 'FR09331878421', 'FR09428627376', 'FR09310456413')
    and b.siret = s.siret
    and datecloture = (select max(datecloture)from bilan b)
    Merci d'avance à celui qui pourra m'éclairer !

  2. #2
    Membre confirmé
    Inscrit en
    Septembre 2006
    Messages
    179
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 179
    Par défaut
    et si tu essaye avec cette requete ? quesque ça donne ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    SELECT b.SIRET, DENOMINATION, CODEPOSTAL, CHP_HN, MAX(datecloture)
    FROM bilan b, societesxx s
    WHERE b.SIRET IN ('FR09577350424', 'FR09331878421', 'FR09428627376', 'FR09310456413')
    AND b.siret = s.siret
    group by b.SIRET
    J'espere pouvoir t'aider

  3. #3
    Modérateur
    Avatar de Chtulus
    Homme Profil pro
    Ingénieur
    Inscrit en
    Avril 2008
    Messages
    3 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2008
    Messages : 3 094
    Par défaut
    Bonjour,

    Ou peut-être écrire la jointure, regrouper et trier !
    « Je ne cherche pas à connaître les réponses, je cherche à comprendre les questions. »
    - Confucius -

    Les meilleurs cours, tutoriels et Docs sur les SGBD et le SQL
    Tous les cours Office
    Solutions d'Entreprise



  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    138
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 138
    Par défaut
    Citation Envoyé par mouchkar Voir le message
    et si tu essaye avec cette requete ? quesque ça donne ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    SELECT b.SIRET, DENOMINATION, CODEPOSTAL, CHP_HN, MAX(datecloture)
    FROM bilan b, societesxx s
    WHERE b.SIRET IN ('FR09577350424', 'FR09331878421', 'FR09428627376', 'FR09310456413')
    AND b.siret = s.siret
    group by b.SIRET
    J'espere pouvoir t'aider
    Je viens de tenter et j'ai le message :

    erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Ora-00979 : n'est pas une expression GROUP BY
    Et mon curseur se place juste avant "DENOMINATION"

  5. #5
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 136
    Par défaut
    Un peu plus d'informations : Cours sur les Regroupements en SQL
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    138
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 138
    Par défaut
    J'ai regarde les cours, il disent de mettre toutes les colonnes dans la clause group by ... je le fais et ça marche... sauf pour la clause max(date) puisqu'il me sort tous les enregistrements peu importe la date

    Que faire svp ?

    Mon code actuel :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT b.SIRET, DENOMINATION, CODEPOSTAL, CHP_HN, MAX(datecloture)
    FROM bilan b, societesxx s
    WHERE b.SIRET IN ('FR09577350424', 'FR09331878421', 'FR09428627376', 'FR09310456413')
    AND b.siret = s.siret
    GROUP BY b.SIRET, DENOMINATION, CODEPOSTAL, CHP_HN

  7. #7
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 136
    Par défaut
    Faute de connaître la structure de votre base de données, il nous est difficile de savoir à quelle table appartiennent les colonnes DENOMINATION, CODEPOSTAL, CHP_HN.
    Règles du forum Langage SQL à lire par tous
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  8. #8
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 136
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    SELECT  s.siret
        ,   s.denomination
        ,   s.codepostal
        ,   s.chp_hn
        ,   MAX(b.datecloture)
    FROM    bilan b
        INNER JOIN
            societesxx s
            ON  b.siret = s.siret
    WHERE   b.SIRET IN ('FR09577350424', 'FR09331878421', 'FR09428627376', 'FR09310456413')
    GROUP BY s.siret
        ,   s.denomination
        ,   s.codepostal
        ,   s.chp_hn;
    Cela devrait répondre à ton besoin
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Soucis de configuration pour utiliser les EJB3
    Par Askerat dans le forum Glassfish et Payara
    Réponses: 37
    Dernier message: 15/02/2009, 17h52
  2. utiliser le calendrier pour les champs date
    Par montassar.nizar dans le forum JDeveloper
    Réponses: 3
    Dernier message: 17/08/2008, 14h31
  3. Réponses: 1
    Dernier message: 18/03/2007, 17h52
  4. Réponses: 4
    Dernier message: 17/11/2006, 10h46
  5. Réponses: 3
    Dernier message: 07/10/2006, 18h55

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