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

 Delphi Discussion :

Problème de Requête SQL


Sujet :

Delphi

  1. #1
    Membre habitué
    Inscrit en
    Mars 2007
    Messages
    191
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 191
    Points : 132
    Points
    132
    Par défaut Problème de Requête SQL
    bonjour tout le monde
    avant de poster mon problème j'ai fait une recherche sur tout les forum(s) et je n'ai vu ce que je veux poster alors voila :

    T_Produits
    ----------
    N_Prod
    N_Cat
    Produit
    Min_P
    Unité

    T_Entrees
    ----------
    Idx_E
    Cod_Frn
    Code_Prd_E
    Qte_E
    Prix_E
    Date_E

    T_Sorties
    ----------
    Idx_S
    Cod_CL
    Code_Prd_S
    Qte_S
    Prix_S
    Date_S


    Mon problème :
    résultat de cette requête : il me double la quantité du premier produit entrées (achats) . la photo jointe expliquera mieux

    par exemple T_Entrees:
    1ere entrée 13 cahiers
    2éme entrée 62 Stylos
    3éme entrée 07 cahiers

    par exemple T_Sorties:
    1ere sortie 5 cahiers
    2éme sortie 6 Stylos

    Ma Requête
    ------------

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SELECT DISTINCT N_P,Produit,SUM(Qte_e) as QTE,SUM(Qte_s) as QTS
    FROM T_Produits,T_Entrees,T_sorties
    WHERE T_Produits.N_P=T_Entrees.CD_P_e AND T_Produits.N_P=T_Sorties.CD_P_s
    GROUP BY N_P,Produit
    Images attachées Images attachées  

  2. #2
    Expert éminent sénior
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Points : 10 008
    Points
    10 008
    Par défaut
    Salut

    La façon de définir tes jointures est dépassée, il est préférable en respectant les normes SQL actuelles d'utiliser des JOIN. Ce qui d'ailleurs facilite la lecture de la requête.

    Voici la requête traduite, en utilisant JOIN pour les jointures entre tables, ces tables possèdent un alias, et les colonnes sont préfixées avec cet alias.
    Tu remarqueras également la présence de la fonction COALESCE qui te renvoie une quantité à 0 même en l'absence d'entrée ou de sortie sur un produit.

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    SELECT
    	P.N_P,
    	P.Produit,
    	SUM(COALESCE(E.Qte_e, 0)) AS QTE,
    	SUM(COALESCE(S.Qte_s, 0)) AS QTS
    FROM 
    	T_Produits AS P
    	LEFT OUTER JOIN T_Entrees AS E ON E.CD_P_e = P.N_P
    	LEFT OUTER JOIN T_Sorties AS S ON S.CD_P_s = P.N_P
    GROUP BY 
    	P.N_P,
    	P.Produit

    Si ta quantité est toujours doublée, et bien c'est que tu as un enregistrement saisi en double dans les entrées.

    @+ Claudius.

  3. #3
    Expert confirmé
    Avatar de Ph. B.
    Homme Profil pro
    Freelance
    Inscrit en
    Avril 2002
    Messages
    1 784
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Haute Garonne (Midi Pyrénées)

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

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 784
    Points : 5 915
    Points
    5 915
    Par défaut
    Bonjour,

    C'est bien de donner la description, mais il faudrait encore qu'elle soit complète.
    Un jeu d'essai complet serait l'idéal (requêtes SQL de création des tables, requêtes d'insertion des lignes de test, et requête de test).

    Sans cela, je vois déjà un GROS défaut à votre requête : si pour un produit il y a des entrées mais pas de sortie ou l'inverse, la requête ne traduira pas la réalité des stocks ! C'est embêtant !
    Ensuite, avec la clause group by, le mot clé distinct est inutile.
    J'écrirais donc (bien que grillé par @Cl@udius ):
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    SELECT
      T.N_P, T.Produit,
      SUM(E.Qte_e) AS QTE,
      SUM(S.Qte_s) AS QTS
    FROM T_Produits T
    LEFT JOIN T_Entrees E ON E.CD_P_e = T.N_P
    LEFT JOIN T_sorties S ON S.CD_P_s = T.N_P
    GROUP BY T.N_P, T.Produit
    Mais cela ne renverra toujours pas le bon résultat dès qu'il y a plus d'un mouvement pour un type de produit, aussi je passerai par des requêtes imbriquées (attention, cela peut jouer sur les performances !) !
    J'écrirai donc :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT
     T.N_P, T.Produit,
     (select sum(E.Qte_e) from T_Entrees E where E.CD_P_e = T.N_P) as QTE,
     (select sum(S.Qte_s) from T_sorties S where S.CD_P_s = T.N_P) as QTS
    FROM t_produit T
    Philippe.

  4. #4
    Membre habitué
    Inscrit en
    Mars 2007
    Messages
    191
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 191
    Points : 132
    Points
    132
    Par défaut
    Merci de votre réponses si constructives

    1- La façon de définir tes jointures est dépassée . tu as raison et pourtant c'est avec SQL que j'ai commencé a faire des jointures de tables.db .

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    SELECT
    	P.N_P,
    	P.Produit,
    	SUM(COALESCE(E.Qte_e, 0)) AS QTE,
    	SUM(COALESCE(S.Qte_s, 0)) AS QTS
    FROM 
    	T_Produits AS P
    	LEFT OUTER JOIN T_Entrees AS E ON E.CD_P_e = P.N_P
    	LEFT OUTER JOIN T_Sorties AS S ON S.CD_P_s = P.N_P
    GROUP BY 
    	P.N_P,
    	P.Produit
    mais il me retourne une erreur : Erreur non spécifiée

    ----

    2- pour ce code

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     
    SELECT
      T.N_P, T.Produit,
      SUM(E.Qte_e) AS QTE,
      SUM(S.Qte_s) AS QTS
    FROM T_Produits T
    LEFT JOIN T_Entrees E ON E.CD_P_e = T.N_P
    LEFT JOIN T_sorties S ON S.CD_P_s = T.N_P
    GROUP BY T.N_P, T.Produit

    mais il me retourne une erreur : Erreur syntaxe (opérateur absent) 'E.CD_P_e = T.N_P LEFT JOIN T_sorties S ON S.CD_P_s = T.N_P'.

    mais Oui ça marche pour code :
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     
    SELECT
     T.N_P, T.Produit,
     (SELECT sum(E.Qte_e) FROM T_Entrees E WHERE E.CD_P_e = T.N_P) AS QTE,
     (SELECT sum(S.Qte_s) FROM T_sorties S WHERE S.CD_P_s = T.N_P) AS QTS
    FROM t_produits T

    sauf que je doit éliminer les produits : QTE='' ou QTS=''

    ADOQuery + Delphi 2010

    --- Merci encore pour vos réponses .

  5. #5
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 031
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 031
    Points : 40 930
    Points
    40 930
    Billets dans le blog
    62
    Par défaut
    sauf que je doit illuminer les produits : QTE='' ou QTS=''
    illuminer ? , si je traduit par éliminer je peux comprendre sinon ?

    j'aurais quand même bien aimé connaitre le SGBD
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  6. #6
    Membre habitué
    Inscrit en
    Mars 2007
    Messages
    191
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 191
    Points : 132
    Points
    132
    Par défaut
    ouf

    illuminer ? , si je traduit par éliminer je peux comprendre sinon ?
    j'étais tellement pressé et heureux d'avoir les réponses de Ph. B. et cl@udius: éliminer

    j'aurais quand même bien aimé connaitre le SGBD
    Tables : Access.mdb (2003)

    Thank's

  7. #7
    Expert éminent sénior
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Points : 10 008
    Points
    10 008
    Par défaut
    Citation Envoyé par MIWAN Voir le message
    Tables : Access.mdb (2003)
    Pour info l'équivalent sous Access de la fonction COALESCE est NZ.

  8. #8
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 031
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 031
    Points : 40 930
    Points
    40 930
    Billets dans le blog
    62
    Par défaut
    Bon Access n'est pas ma tasse de thé , il est bizarre que les JOIN ne fonctionnent pas, dommage car avec le GROUP BY on peut utiliser la HAVING
    enfin on peut tricher avec la SQL qui fonctionne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    SELECT
     T.N_P, T.Produit,
     MAX((SELECT sum(E.Qte_e) FROM T_Entrees E WHERE E.CD_P_e = T.N_P)) AS QTE,
     MAX((SELECT sum(S.Qte_s) FROM T_sorties S WHERE S.CD_P_s = T.N_P)) AS QTS
    FROM t_produits T
    GROUP BY 1,2
    HAVING QTE>0 OR QTS>0
    sans garantie (voir ma 1°Phrase
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  9. #9
    Membre habitué
    Inscrit en
    Mars 2007
    Messages
    191
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 191
    Points : 132
    Points
    132
    Par défaut
    excuse moi de vous répondre si tard car j'étais en train lire quelques tutoriels sur NZ



    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     
    SELECT
     T.N_P, T.Produit,
     MAX((SELECT sum(E.Qte_e) FROM T_Entrees E WHERE E.CD_P_e = T.N_P)) AS QTE,
     MAX((SELECT sum(S.Qte_s) FROM T_sorties S WHERE S.CD_P_s = T.N_P)) AS QTS
    FROM t_produits T
    GROUP BY 1,2
    HAVING QTE>0 OR QTS>0

    mais ça donne une erreur (voir le fichier joint)



    sans garantie (voir ma 1°Phrase
    et si on ajoute quelques cuillères de sucre ?

    le problème et là

    GROUP BY 1,2
    HAVING QTE>0 OR QTS>0

    merci
    Images attachées Images attachées  

  10. #10
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 031
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 031
    Points : 40 930
    Points
    40 930
    Billets dans le blog
    62
    Par défaut
    Même avec une tonne de sucre , access sera toujours aussi imbuvable pour moi
    mauvaise habitude de Firebird oblige , j'ai indiqué un group by avec les numéros de champs , qu'en serait-il en indiquant les noms ?

    "GROUP BY N_P,Produit" voire "GROUP BY T.N_P,T.Produit"

    entre parenthèses avec Firebird j'aurais utilisé la proposition avec les join et le group by et simplement rajouté le Having . C'est plus un problème SQL access que Delphi
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  11. #11
    Membre habitué
    Inscrit en
    Mars 2007
    Messages
    191
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 191
    Points : 132
    Points
    132
    Par défaut
    Bonjour

    qu'en serait-il en indiquant les noms ?
    dans ce cas on serais obliger de déclarer les Champs QTE,QTS dans Parameters et pas de problème , mais il n'affiche aucune résultat

  12. #12
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 031
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 031
    Points : 40 930
    Points
    40 930
    Billets dans le blog
    62
    Par défaut
    Citation Envoyé par MIWAN Voir le message

    dans ce cas on serais obliger de déclarer les Champs QTE,QTS dans Parameters et pas de problème
    je ne vois pas le rapport entre le SQL et Parameters ???
    la question est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    SELECT
     T.N_P, T.Produit,
     MAX((SELECT sum(E.Qte_e) FROM T_Entrees E WHERE E.CD_P_e = T.N_P)) AS QTE,
     MAX((SELECT sum(S.Qte_s) FROM T_sorties S WHERE S.CD_P_s = T.N_P)) AS QTS
    FROM t_produits T
    GROUP BY T.N_P,T.PRODUIT
    HAVING QTE>0 OR QTS>0
    fonctionne t'elle (il me faut beaucoup de sucre , mon diabète va en prendre un coup )
    si elle ne fourni rien , en enlevant le HAVING , a t'on des résultats ?
    il faut essayer le SQL directement sur Access (que je n'ai pas)
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  13. #13
    Expert confirmé
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    Mars 2005
    Messages
    2 667
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste programmeur Delphi / C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 2 667
    Points : 5 235
    Points
    5 235
    Par défaut
    De mémoire comme ça, il me semble que sous access, il n'est pas possible d'utiliser HAVING avec des alias

    Est-ce que ceci fonctionne ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    SELECT
     T.N_P, T.Produit,
     MAX((SELECT sum(E.Qte_e) FROM T_Entrees E WHERE E.CD_P_e = T.N_P)) AS QTE,
     MAX((SELECT sum(S.Qte_s) FROM T_sorties S WHERE S.CD_P_s = T.N_P)) AS QTS
    FROM t_produits T
    GROUP BY T.N_P,T.PRODUIT
    HAVING MAX((SELECT sum(E.Qte_e) FROM T_Entrees E WHERE E.CD_P_e = T.N_P)) >0 OR MAX((SELECT sum(S.Qte_s) FROM T_sorties S WHERE S.CD_P_s = T.N_P)) >0

  14. #14
    Membre habitué
    Inscrit en
    Mars 2007
    Messages
    191
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 191
    Points : 132
    Points
    132
    Par défaut
    Salut

    je ne vois pas le rapport entre le SQL et Parameters ???
    Delphi les considère comme des champs agrégats

    si on enlève le HAVING il affiche tous les produits (entrant , sortant et même les produits qui sont dans la table produit et qui ne sont pas encore entrées)

    --------
    salut pop
    Est-ce que ceci fonctionne ?
    BINGO :c'est ce que je voulais .
    merci pour ces informations surtout COALESCE , NZ et je crois que je vais brancher a FireBird .

    popo

    -- une question est devenu des tutoriels .Merci a vous tous

  15. #15
    Expert éminent sénior
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Points : 10 008
    Points
    10 008
    Par défaut
    popo

  16. #16
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 031
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 031
    Points : 40 930
    Points
    40 930
    Billets dans le blog
    62
    Par défaut
    pas tout fait d'accord avec popo désolé , du coup le max et le group ne servent a rien
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT
     T.N_P, T.Produit,
    (SELECT sum(E.Qte_e) FROM T_Entrees E WHERE E.CD_P_e = T.N_P) AS QTE,
    (SELECT sum(S.Qte_s) FROM T_sorties S WHERE S.CD_P_s = T.N_P) AS QTS
    FROM t_produits T
    WHERE (SELECT sum(E.Qte_e) FROM T_Entrees E WHERE E.CD_P_e = T.N_P) >0 OR (SELECT sum(S.Qte_s) FROM T_sorties S WHERE S.CD_P_s = T.N_P)>0
    devrait fonctionner pareil , moche de refaire les selects
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  17. #17
    Membre habitué
    Inscrit en
    Mars 2007
    Messages
    191
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 191
    Points : 132
    Points
    132
    Par défaut
    Sergio

    ça marche cette Requête . hé ben le thé avec du sucre et un peut de menthe donne des idées

  18. #18
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 031
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 031
    Points : 40 930
    Points
    40 930
    Billets dans le blog
    62
    Par défaut
    en fait j'y avais pensé (pas au sucre ni a la menthe) au where sur les (SELECT ... ) mais je trouve que cette manière est "moche" d'un point de vue traitement , vu que l'on fait 4 SELECT en plus du SELECT de base , je ne comprend pas pourquoi les LEFT JOIN n'ont pas été acceptés (un de Access ?) mais je laisse ce symptôme a un Doc House Access

    (en tout cas avec Firebird ces join , group + having auraient fonctionnés mais là je prêche pour ma paroisse et soigne mon diabète )
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  19. #19
    Expert éminent

    Homme Profil pro
    Retraité
    Inscrit en
    Septembre 2002
    Messages
    2 160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 160
    Points : 6 478
    Points
    6 478
    Billets dans le blog
    2
    Par défaut
    J'ai trouvé ce fil très intéressant, mais je suis tombé dessus par hasard. Serait-il possible de changer le titre en ajoutant le mot clé "Jointure". Car débutant moi aussi (même à 61 ans), j'ai souvent des problèmes de ce type dans mes requêtes.

    Surtout que moi, c'est FireBird que j'utilise. Il y a une vingtaine d'années, j'utilisais Paradox que je trouvais déjà nettement plus intéressant qu'Access.
    Pierre GIRARD

  20. #20
    Expert confirmé
    Avatar de Ph. B.
    Homme Profil pro
    Freelance
    Inscrit en
    Avril 2002
    Messages
    1 784
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Haute Garonne (Midi Pyrénées)

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

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 784
    Points : 5 915
    Points
    5 915
    Par défaut
    Bonjour,
    Citation Envoyé par Pierre GIRARD Voir le message
    J'ai trouvé ce fil très intéressant, mais je suis tombé dessus par hasard. Serait-il possible de changer le titre en ajoutant le mot clé "Jointure". Car débutant moi aussi (même à 61 ans), j'ai souvent des problèmes de ce type dans mes requêtes.
    Attention, il n'y a pas que les jointures qui sont évoquées (partiellement) dans ce fil, mais aussi des agrégations, des sous-requêtes...
    Citation Envoyé par Pierre GIRARD Voir le message
    Surtout que moi, c'est FireBird que j'utilise. Il y a une vingtaine d'années, j'utilisais Paradox que je trouvais déjà nettement plus intéressant qu'Access.
    Vous avez sur ce site même un article plus complet traitant du sujet des jointures : SQL de A à Z : Les jointures
    Philippe.

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Problème de requête SQL avec instruction TRANSFORM
    Par Nosper dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 21/06/2005, 16h15
  2. problème de requète SQL pour formulaire
    Par en_stage dans le forum Requêtes et SQL.
    Réponses: 15
    Dernier message: 21/06/2005, 12h21
  3. [SQL] Problème de requête SQL de plus de 8060 caractères ?
    Par webtheque dans le forum MS SQL Server
    Réponses: 13
    Dernier message: 06/04/2005, 15h07
  4. [SQLserver2000][SQLServer CE] problème de requête SQL
    Par JBernn dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 27/01/2005, 09h29
  5. Problème de requète SQL dans un Requery
    Par Keraccess dans le forum Requêtes et SQL.
    Réponses: 7
    Dernier message: 22/10/2004, 14h58

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