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

SQL Oracle Discussion :

trouver un record avec une query


Sujet :

SQL Oracle

  1. #1
    Membre régulier
    Inscrit en
    Septembre 2006
    Messages
    446
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Septembre 2006
    Messages : 446
    Points : 89
    Points
    89
    Par défaut trouver un record avec une query
    Bonjour a tous, j'ai un probleme dans la creation d'une query
    j'ai una table maire avec comme champ id_fiche, année, mois et une table naissance avec comme champ id_naissance, id_fiche, ect les deux tables sont liées par id_fiche
    comment je fais pour recuperer les records de la tables naissance auxquels à été associé le meme id_fiche la meme année?


    moi j'ai fais:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    select p.*
    from maire p
    where extract (year from date)='2010' and extract (month from date) between '10' and '12'
    order by id_fiche

    merci

  2. #2
    Membre expérimenté Avatar de ojo77
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Décembre 2010
    Messages
    680
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Décembre 2010
    Messages : 680
    Points : 1 597
    Points
    1 597
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT p.*
    FROM maire p
    WHERE date between to_date('201010'        , 'YYYYMM') 
                   and to_date('20101231235959', 'YYYYMMDDHH24MISS')
    ORDER BY id_fiche
    Ca devrait donner les enregistrements de maire qui du dernier trimestre 2010, ce qui apparemment ne répond pas à l'énoncé que vous avez donné.

    La requête suivante me semble plus correspondre à vos attentes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT p.*
    FROM maire p
       , (select id_fiche, to_char(date,'YYYY') dtchar from naissances) n 
    WHERE to_char(p.date,'YYYY') = n.dtchar
    ORDER BY p.id_fiche

  3. #3
    Membre régulier
    Inscrit en
    Septembre 2006
    Messages
    446
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Septembre 2006
    Messages : 446
    Points : 89
    Points
    89
    Par défaut
    C'est parce que je n'arrive pas à associer la table naissance et trouver les id_fiche double dans la table naissance.

  4. #4
    Membre expérimenté Avatar de ojo77
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Décembre 2010
    Messages
    680
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Décembre 2010
    Messages : 680
    Points : 1 597
    Points
    1 597
    Par défaut
    Dans ce cas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT p.*
    FROM maire p
       , (SELECT distinct id_fiche, to_char(date,'YYYY') dtchar FROM naissances) n 
    WHERE to_char(p.date,'YYYY') = n.dtchar
    ORDER BY p.id_fiche

  5. #5
    Membre régulier
    Inscrit en
    Septembre 2006
    Messages
    446
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Septembre 2006
    Messages : 446
    Points : 89
    Points
    89
    Par défaut
    Dans la table de naissance j'ai pas la date, j'ai seulement id_fiche.
    Dans la table maire il y a l'annee et le mois. donc dans je voudrais sortir les id_fiches égales dans la table naissance dans l'année 2010.

  6. #6
    Membre expérimenté Avatar de ojo77
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Décembre 2010
    Messages
    680
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Décembre 2010
    Messages : 680
    Points : 1 597
    Points
    1 597
    Par défaut
    Il me semble que c'est ça que vous souhaitez, mais j'avoue qu'un schémas m'aiderais à mieux cerner le problème.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    SELECT n.*
    FROM maire p
          , naissances n
    WHERE p.date BETWEEN to_date('201010'        , 'YYYYMM') 
                   AND to_date('20101231235959', 'YYYYMMDDHH24MISS')
      AND n.id_fiche=p.id_fiche
    ORDER BY id_fiche
    PS : Pas la peine de citer systématiquement dans vos réponses

Discussions similaires

  1. probleme avec une query
    Par Daniela dans le forum SQL
    Réponses: 2
    Dernier message: 17/07/2009, 11h51
  2. Pb d'insertion deux fois avec une query d'un dataAdapter
    Par Contact2012 dans le forum ASP.NET
    Réponses: 2
    Dernier message: 02/09/2008, 14h48
  3. Réponses: 9
    Dernier message: 03/12/2007, 18h49
  4. Trouver du travail avec une Licence de physique ?
    Par mouad.oca dans le forum Emploi
    Réponses: 2
    Dernier message: 25/10/2007, 21h04
  5. [XSLT]Trouver un noeud avec une condition sur ses sous-noeuds
    Par enguerran dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 23/02/2007, 11h00

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