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

WinDev Discussion :

Regrouper des valeurs de plusieurs lignes d'enregistrement dans une même valeur avec une Rubrique Calculée ? [WD17]


Sujet :

WinDev

  1. #21
    Membre chevronné Avatar de laurent30s
    Homme Profil pro
    Inscrit en
    Novembre 2007
    Messages
    881
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 881
    Points : 1 771
    Points
    1 771
    Par défaut
    Avec l'éditeur de requête il faut que tu fasses 2 requête2

    1ère Requête liste des voiture pour l'IDTYPE = 1 pour l'exemple je l'appelle TaSousRequete
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    SELECT 
    	VOITURES.ID_F_S AS ID_F_S
    FROM 
    	TYPE,	
    	VOITURES
    WHERE 
    	TYPE.IDTYPE = VOITURES.IDTYPE
    	AND
    	(
    		TYPE.IDTYPE = 1
    	)
    2ème Requête sur FINITIONS et TaSousRequete
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    SELECT 
    	FINITIONS.NOM AS LIB_FINITIONS,	
    	FINITIONS.ID_FINITION AS ID_F,	
    	TaSousRequete.ID_F_S AS ID_F_S
    FROM 
    	FINITIONS,
    	TaSousRequete
    WHERE 
    	TaSousRequete.ID_F_S AS ID_F_S LIKE CONCAT('%',FINITIONS.ID_FINITION,'<TAB>','%')
    Mais le plus simple est de faire comme te dit Michel d'utiliser avec la fonction hExecuteRequeteSQL

    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
    cnxCONNEXION est une Connexion	// + la définition de la connexion si connexion nécessaire
    sdRQ1 est une Source de Données
    sMa_requete est une chaîne
     
    sMa_requete = [
    SELECT 
    	FINITIONS.NOM AS LIB_FINITIONS,	
    	FINITIONS.ID_FINITION AS ID_F,	
    	F.ID_F_S AS ID_F_S
    FROM 
    	FINITIONS,
    	(
    		SELECT 
    			VOITURES.ID_F_S AS ID_F_S
    		FROM 
    			TYPE,	
    			VOITURES
    		WHERE 
    			TYPE.IDTYPE = VOITURES.IDTYPE
    			AND
    				(
    					TYPE.IDTYPE = 1
    				)
    	) as F
    WHERE 
    	F.ID_F_S AS ID_F_S LIKE CONCAT('%',FINITIONS.ID_FINITION,'<TAB>','%')
    ]
     
    // Exécution de la requête (si connexion pas nécessaire enlever cnxCONNEXION)
    SI PAS HExécuteRequêteSQL(sdRQ1,cnxCONNEXION,hRequêteSansCorrection,sMa_requete) ALORS Erreur("Problème dans la requête xxx."+HErreurInfo); RETOUR
     
    // parcours du résultat de la requête
    HLitPremier(sdRQ1)
    TANTQUE PAS HEnDehors(sdRQ1)
    	// ton traitement
    	HLitSuivant(sdRQ1)	
    FIN
    Ceci dit en HyperFile je ne sais pas s'il va aimer le "as F" de la sous-requête (HF ne respecte pas toutes les syntaxes SQL)

  2. #22
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2009
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 278
    Points : 2 151
    Points
    2 151
    Par défaut
    Citation Envoyé par laurent30s Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    SELECT 
    	FINITIONS.NOM AS LIB_FINITIONS,	
    	FINITIONS.ID_FINITION AS ID_F,	
    	TaSousRequete.ID_F_S AS ID_F_S
    FROM 
    	FINITIONS,
    	TaSousRequete
    WHERE 
    	TaSousRequete.ID_F_S AS ID_F_S LIKE CONCAT('%',FINITIONS.ID_FINITION,'<TAB>','%')
    Je savais pas qu'on pouvait utiliser une requête comme une "table" depuis l'éditeur, pour une fois on reste proche de la norme et c'est bien ! (un résultat de requête = une table)

  3. #23
    Membre régulier Avatar de dany13
    Inscrit en
    Mai 2004
    Messages
    168
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 168
    Points : 100
    Points
    100
    Par défaut
    Merci laurent30s, tatayo, michel.souris pour vos lumières si précieuses et de la patience que vous avez eu pour moi et mon cas !

    Après moultes batailles, j'arrive a quelque chose d'exploitable (même si...JE SAIS! c'est pas bien, c'est crade et tout ça!)

    Ma 1ere requete REQ_PREMIER :
    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
    SELECT 
    	VOITURES.ID_F_S AS ID_F_S,	
    	 CASE WHEN WL.ChaîneOccurrence(VOITURES.ID_F_S,FINITIONS.ID_FINITION) > 0 THEN 1 ELSE 0 END
     
      AS EstIdFinition,	
    	FINITIONS.NOM AS LIB_FINITIONS
    FROM 
    	FINITIONS,	
    	TYPE,	
    	VOITURES
    WHERE 
    	TYPE.IDTYPE = VOITURES.IDTYPE
    	AND
    	(
    		TYPE.IDTYPE = 1
    	)
    Ma 2ème requete REQ_FINALE:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    SELECT 
    	REQ_PREMIER.EstIdFinition AS EstIdFinition,	
    	REQ_PREMIER.NOM AS NOM_FINITION
    FROM 
    	REQ_PREMIER
    WHERE 
    	REQ_PREMIER.EstIdFinition = 1
    	AND	REQ_PREMIER.NOM <> '""'
    Et après il me reste juste à évaluer ma requete finale et c'est good

    Merci encore pour tout, j'aurai bien eu du mal sans vous !
    @++

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Réponses: 13
    Dernier message: 26/06/2015, 14h33
  2. Populate plusieurs champs avec une même valeur
    Par dedis dans le forum Zend_Form
    Réponses: 5
    Dernier message: 26/03/2011, 16h59
  3. Réponses: 2
    Dernier message: 21/09/2009, 14h20
  4. Réponses: 2
    Dernier message: 18/11/2005, 21h40
  5. Concaténer des lignes d'enregistrements dans une colonne
    Par dany13 dans le forum MS SQL Server
    Réponses: 10
    Dernier message: 08/07/2005, 21h56

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