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 :

Requête dans une requête (débutant)


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Novembre 2019
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Novembre 2019
    Messages : 18
    Par défaut Requête dans une requête (débutant)
    Bonjour,
    désolé je débute dans le SQL mais je souhaiterai rattacher une requête à une autre requête.
    Je m'explique :
    J'ai ce SQL qui me donne le max en OF de chaque article
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT Max(WADOCO) "OF",WAAITM "Article"
    FROM PRODDTA.F4801
    GROUP BY WAAITM
    ;
    maintenant que j'ai ce SQL je voudrais lier la gamme de fabrication qui lui est associé en
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT WMDOCO, WMOPSQ, WMCPIL, WMDSC1
    FROM F3111;
    sachant que la jointure sera Max(F4108.WADOCO)=F3111.WMDOCO
    comment je construis ce SQL ?

    merci beaucoup

  2. #2
    Expert confirmé
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 438
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 438
    Par défaut
    Bonjour,
    Tu peux le faire avec une CTE, une sous-requête...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    with cte as 
    (
    select x,y from UneTable
    )
    select z
    from UneAutreTable
    inner join CTE on ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    select *
    from UneTable as t1
    inner join (select x,y from UneAutreTable where ..) as t2
    on t1.z = t2.y
    Tatayo.

  3. #3
    Membre averti
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Novembre 2019
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Novembre 2019
    Messages : 18
    Par défaut
    merci
    J'ai 2 options ? je teste la 2ème...

  4. #4
    Expert confirmé
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 438
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 438
    Par défaut
    Il doit certainement exister d'autres méthodes, ce sont les deux qui me sont venues à l'esprit.

    Je ne connais pas la volumétrie de ta base (ni Oracle), mais je pense que la première est plus efficace.

    Tatayo.

  5. #5
    Membre averti
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Novembre 2019
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Novembre 2019
    Messages : 18
    Par défaut
    Bonjour,
    en essayant la 2ème option
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Select Max(WADOCO) , WAAITM, WMOPSQ, WMCPIL, WMDSC1
    FROM PRODDTA.F4801 t1
    inner join (select WMDOCO,WMOPSQ, WMCPIL, WMDSC1 from PRODDTA.f3111 ) t2 on t1.WADOCO = t2.WMDOCO
    where WAAITM = 'xxxxx	'
    GROUP BY WAAITM, WMOPSQ, WMCPIL, WMDSC1 
    order by WAAITM,WMOPSQ
    ;
    j'obtiens :
    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
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    MAX(WADOCO)	WAAITM	WMOPSQ	WMCPIL	WMDSC1
    515071	xxxxx	100	         xxxxx	                Libellé du WMCPIL
    515071	xxxxx	100	        307902                   	Libellé du WMCPIL
    564640	xxxxx	50100	336415                   	Libellé du WMCPIL
    456243	xxxxx	50100	307353                   	Libellé du WMCPIL
    564640	xxxxx	50100	502541                   	Libellé du WMCPIL
    506298	xxxxx	50100	306606                   	Libellé du WMCPIL
    575699	xxxxx	50100	316895                   	Libellé du WMCPIL
    506298	xxxxx	50100	336141                   	Libellé du WMCPIL
    456243	xxxxx	50100	307042                   	Libellé du WMCPIL
    506298	xxxxx	50100	306027                   	Libellé du WMCPIL
    489441	xxxxx	50100	327079                   	Libellé du WMCPIL
    456243	xxxxx	50100	327855                   	Libellé du WMCPIL
    506298	xxxxx	50100	306269                   	Libellé du WMCPIL
    506298	xxxxx	50100	326067                   	Libellé du WMCPIL
    506298	xxxxx	50100	504338                   	Libellé du WMCPIL
    506298	xxxxx	50100	106005                   	Libellé du WMCPIL
    506298	xxxxx	50100	209234                   	Libellé du WMCPIL
    575699	xxxxx	50100	506077                   	Libellé du WMCPIL
    575699	xxxxx	50100	514510                   	Libellé du WMCPIL
    506298	xxxxx	50100	514514                   	Libellé du WMCPIL
    575699	xxxxx	50100	544733                   	Libellé du WMCPIL
    506298	xxxxx	50100	306015                   	Libellé du WMCPIL
    575699	xxxxx	50100	544714                   	Libellé du WMCPIL
    506298	xxxxx	50100	326569                   	Libellé du WMCPIL
    506298	xxxxx	50100	336416                   	Libellé du WMCPIL
    506298	xxxxx	50100	510297                   	Libellé du WMCPIL
    575699	xxxxx	50100	514511                   	Libellé du WMCPIL
    575699	xxxxx	50100	536382                   	Libellé du WMCPIL
    506298	xxxxx	50100	306020                   	Libellé du WMCPIL
    506298	xxxxx	50100	306240                   	Libellé du WMCPIL
    506298	xxxxx	50100	326573                   	Libellé du WMCPIL
    538951	xxxxx	50100	509147                   	Libellé du WMCPIL
    489459	xxxxx	50100	106003                   	Libellé du WMCPIL
    489441	xxxxx	50100	327076                   	Libellé du WMCPIL
    506298	xxxxx	50100	306157                   	Libellé du WMCPIL
    489441	xxxxx	50100	327702                   	Libellé du WMCPIL
    506298	xxxxx	50100	306229                   	Libellé du WMCPIL
    538951	xxxxx	50100	509148                   	Libellé du WMCPIL
    488131	xxxxx	50100	509143                   	Libellé du WMCPIL
    506298	xxxxx	50100	306028                   	Libellé du WMCPIL
    506298	xxxxx	50100	306225                   	Libellé du WMCPIL
    506298	xxxxx	50100	306239                   	Libellé du WMCPIL
    564640	xxxxx	50100	306079                   	Libellé du WMCPIL
    456243	xxxxx	50100	307902                   	Libellé du WMCPIL
    564640	xxxxx	50100	514512                   	Libellé du WMCPIL
    575699	xxxxx	50500	306606                   	Libellé du WMCPIL
    575699	xxxxx	50500	306269                   	Libellé du WMCPIL
    575699	xxxxx	50500	336415                   	Libellé du WMCPIL
    575699	xxxxx	50500	306079                   	Libellé du WMCPIL
    575699	xxxxx	50500	306020                   	Libellé du WMCPIL
    575699	xxxxx	50500	306015                   	Libellé du WMCPIL
    575699	xxxxx	50500	106005                   	Libellé du WMCPIL
    575699	xxxxx	50500	326573                   	Libellé du WMCPIL
    575699	xxxxx	50500	306239                   	Libellé du WMCPIL
    575699	xxxxx	50500	306157                   	Libellé du WMCPIL
    575699	xxxxx	50500	306225                   	Libellé du WMCPIL
    575699	xxxxx	50500	336141                   	Libellé du WMCPIL
    575699	xxxxx	50500	306229                   	Libellé du WMCPIL
    575699	xxxxx	50500	326067                   	Libellé du WMCPIL
    575699	xxxxx	50500	326569                   	Libellé du WMCPIL
    575699	xxxxx	50500	509147                   	Libellé du WMCPIL
    575699	xxxxx	50500	509148                   	Libellé du WMCPIL
    575699	xxxxx	50500	510297                   	Libellé du WMCPIL
    575699	xxxxx	50500	514514                   	Libellé du WMCPIL
    575699	xxxxx	50500	306240                   	Libellé du WMCPIL
    512938	xxxxx	50500	336141                   	Libellé du WMCPIL
    575699	xxxxx	50500	502541                   	Libellé du WMCPIL
    575699	xxxxx	50500	306028                   	Libellé du WMCPIL
    575699	xxxxx	50500	504338                   	Libellé du WMCPIL
    575699	xxxxx	50500	336416                   	Libellé du WMCPIL
    575699	xxxxx	50500	514512                   	Libellé du WMCPIL
    575699	xxxxx	50500	306027                   	Libellé du WMCPIL
    489441	xxxxx	52500	116010                   	Libellé du WMCPIL
    575699	xxxxx	52500	327855                   	Libellé du WMCPIL
    575699	xxxxx	52500	307902                   	Libellé du WMCPIL
    564640	xxxxx	52500	327702                   	Libellé du WMCPIL
    575699	xxxxx	52500	327076                   	Libellé du WMCPIL
    575699	xxxxx	52500	307353                   	Libellé du WMCPIL
    575699	xxxxx	52500	307042                   	Libellé du WMCPIL
    575699	xxxxx	52500	327079                   	Libellé du WMCPIL
    575699	xxxxx	52500	209234                   	Libellé du WMCPIL
    575699	xxxxx	52500	327702                   	Libellé du WMCPIL
    Je souhaiterais avoir que les lignes en rouge.

    Je vais quand même tester la 1ère proposition mais je suis pas sûr d'arriver à transposer mes éléments dans ce SQL...

    merci d'avance

  6. #6
    Membre averti
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Novembre 2019
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Novembre 2019
    Messages : 18
    Par défaut
    Je dois faire une erreur mais je sais pas la corriger...

    Nom : Capture1.PNG
Affichages : 99
Taille : 18,0 Ko

    pour info : je n'arrive pas coller le SQL dans le CODE /CODE
    j'ai ce message
    Nom : 2.PNG
Affichages : 102
Taille : 6,1 Ko

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

Discussions similaires

  1. Réponses: 10
    Dernier message: 15/04/2015, 16h55
  2. Recherche dans une table (débutant)
    Par speedyk62 dans le forum JSF
    Réponses: 5
    Dernier message: 25/08/2009, 14h37
  3. [A-07] Inclure une base dans une base (débutant)
    Par fabilabo dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 15/01/2009, 05h57
  4. Réponses: 1
    Dernier message: 03/07/2008, 11h25
  5. Réponses: 4
    Dernier message: 26/12/2007, 10h39

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