Précédent   Forum du club des développeurs et IT Pro > Environnements de développement > Delphi > Débutant
Débutant Pour bien débuter avec Delphi
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 24/02/2013, 17h35   #1
MIWAN
Membre du Club
 
Inscription : mars 2007
Messages : 96
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 96
Points : 64
Points : 64
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 :
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
Type de fichier : jpg Req1.jpg (44,1 Ko, 13 affichages)
MIWAN est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 24/02/2013, 18h13   #2
Cl@udius
Modérateur
 
Avatar de Cl@udius
 
Homme Claude Renouleaud
Développeur informatique
Inscription : février 2006
Messages : 4 860
Détails du profil
Informations personnelles :
Nom : Homme Claude Renouleaud
Âge : 50
Localisation : France, Hautes Pyrénées (Midi Pyrénées)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : février 2006
Messages : 4 860
Points : 9 970
Points : 9 970
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 :
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.
__________________
A la question technique que par MP/MV tu formuleras, la réponse aux oubliettes finira.
Cl@udius est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 24/02/2013, 18h33   #3
Ph. B.
Expert Confirmé
 
Avatar de Ph. B.
 
Homme Philippe
Inscription : avril 2002
Messages : 1 026
Détails du profil
Informations personnelles :
Nom : Homme Philippe
Âge : 46
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : avril 2002
Messages : 1 026
Points : 2 651
Points : 2 651
Envoyer un message via ICQ à Ph. B. Envoyer un message via Skype™ à Ph. B.
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 :
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 :
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.
Ph. B. est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 24/02/2013, 21h07   #4
MIWAN
Membre du Club
 
Inscription : mars 2007
Messages : 96
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 96
Points : 64
Points : 64
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 :
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 :
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 :
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 .
MIWAN est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/02/2013, 07h30   #5
SergioMaster
Modérateur
 
Avatar de SergioMaster
 
Homme Serge Girard
Développeur informatique
Inscription : janvier 2007
Messages : 4 207
Détails du profil
Informations personnelles :
Nom : Homme Serge Girard
Âge : 56
Localisation : France

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

Informations forums :
Inscription : janvier 2007
Messages : 4 207
Points : 7 265
Points : 7 265
Citation:
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
__________________
La seule chose absolue dans un monde comme le nôtre, c'est l'humour. » Albert Einstein
J'entends et j'oublie. Je vois et je me souviens. Je fais et je comprends . Confucius
Si votre seul outil est un marteau, vous aurez tendance a ne voir que des clous
SergioMaster est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/02/2013, 12h35   #6
MIWAN
Membre du Club
 
Inscription : mars 2007
Messages : 96
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 96
Points : 64
Points : 64
ouf

Citation:
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

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

Thank's
MIWAN est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/02/2013, 14h03   #7
Cl@udius
Modérateur
 
Avatar de Cl@udius
 
Homme Claude Renouleaud
Développeur informatique
Inscription : février 2006
Messages : 4 860
Détails du profil
Informations personnelles :
Nom : Homme Claude Renouleaud
Âge : 50
Localisation : France, Hautes Pyrénées (Midi Pyrénées)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : février 2006
Messages : 4 860
Points : 9 970
Points : 9 970
Citation:
Envoyé par MIWAN Voir le message
Tables : Access.mdb (2003)
Pour info l'équivalent sous Access de la fonction COALESCE est NZ.
__________________
A la question technique que par MP/MV tu formuleras, la réponse aux oubliettes finira.
Cl@udius est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/02/2013, 19h39   #8
SergioMaster
Modérateur
 
Avatar de SergioMaster
 
Homme Serge Girard
Développeur informatique
Inscription : janvier 2007
Messages : 4 207
Détails du profil
Informations personnelles :
Nom : Homme Serge Girard
Âge : 56
Localisation : France

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

Informations forums :
Inscription : janvier 2007
Messages : 4 207
Points : 7 265
Points : 7 265
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 :
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
__________________
La seule chose absolue dans un monde comme le nôtre, c'est l'humour. » Albert Einstein
J'entends et j'oublie. Je vois et je me souviens. Je fais et je comprends . Confucius
Si votre seul outil est un marteau, vous aurez tendance a ne voir que des clous
SergioMaster est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/02/2013, 22h29   #9
MIWAN
Membre du Club
 
Inscription : mars 2007
Messages : 96
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 96
Points : 64
Points : 64
excuse moi de vous répondre si tard car j'étais en train lire quelques tutoriels sur NZ



Code SQL :
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)


Citation:

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

le problème et là
Citation:

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

merci
Images attachées
Type de fichier : jpg req2.jpg (41,2 Ko, 5 affichages)
MIWAN est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/02/2013, 07h30   #10
SergioMaster
Modérateur
 
Avatar de SergioMaster
 
Homme Serge Girard
Développeur informatique
Inscription : janvier 2007
Messages : 4 207
Détails du profil
Informations personnelles :
Nom : Homme Serge Girard
Âge : 56
Localisation : France

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

Informations forums :
Inscription : janvier 2007
Messages : 4 207
Points : 7 265
Points : 7 265
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
__________________
La seule chose absolue dans un monde comme le nôtre, c'est l'humour. » Albert Einstein
J'entends et j'oublie. Je vois et je me souviens. Je fais et je comprends . Confucius
Si votre seul outil est un marteau, vous aurez tendance a ne voir que des clous
SergioMaster est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/02/2013, 08h44   #11
MIWAN
Membre du Club
 
Inscription : mars 2007
Messages : 96
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 96
Points : 64
Points : 64
Bonjour

Citation:
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
MIWAN est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/02/2013, 10h33   #12
SergioMaster
Modérateur
 
Avatar de SergioMaster
 
Homme Serge Girard
Développeur informatique
Inscription : janvier 2007
Messages : 4 207
Détails du profil
Informations personnelles :
Nom : Homme Serge Girard
Âge : 56
Localisation : France

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

Informations forums :
Inscription : janvier 2007
Messages : 4 207
Points : 7 265
Points : 7 265
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 :
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)
__________________
La seule chose absolue dans un monde comme le nôtre, c'est l'humour. » Albert Einstein
J'entends et j'oublie. Je vois et je me souviens. Je fais et je comprends . Confucius
Si votre seul outil est un marteau, vous aurez tendance a ne voir que des clous
SergioMaster est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 26/02/2013, 11h48   #13
popo
Membre émérite
 
Avatar de popo
 
Homme Jérémy
Analyste programmeeur Delphi / C#
Inscription : mars 2005
Messages : 732
Détails du profil
Informations personnelles :
Nom : Homme Jérémy
Localisation : France, Rhône (Rhône Alpes)

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

Informations forums :
Inscription : mars 2005
Messages : 732
Points : 976
Points : 976
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 :
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
popo est déconnecté   Envoyer un message privé Réponse avec citation 20
Vieux 26/02/2013, 15h29   #14
MIWAN
Membre du Club
 
Inscription : mars 2007
Messages : 96
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 96
Points : 64
Points : 64
Salut

Citation:
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
Citation:
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
MIWAN est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/02/2013, 18h26   #15
Cl@udius
Modérateur
 
Avatar de Cl@udius
 
Homme Claude Renouleaud
Développeur informatique
Inscription : février 2006
Messages : 4 860
Détails du profil
Informations personnelles :
Nom : Homme Claude Renouleaud
Âge : 50
Localisation : France, Hautes Pyrénées (Midi Pyrénées)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : février 2006
Messages : 4 860
Points : 9 970
Points : 9 970
popo
__________________
A la question technique que par MP/MV tu formuleras, la réponse aux oubliettes finira.
Cl@udius est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/02/2013, 18h50   #16
SergioMaster
Modérateur
 
Avatar de SergioMaster
 
Homme Serge Girard
Développeur informatique
Inscription : janvier 2007
Messages : 4 207
Détails du profil
Informations personnelles :
Nom : Homme Serge Girard
Âge : 56
Localisation : France

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

Informations forums :
Inscription : janvier 2007
Messages : 4 207
Points : 7 265
Points : 7 265
pas tout fait d'accord avec popo désolé , du coup le max et le group ne servent a rien
Code :
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
__________________
La seule chose absolue dans un monde comme le nôtre, c'est l'humour. » Albert Einstein
J'entends et j'oublie. Je vois et je me souviens. Je fais et je comprends . Confucius
Si votre seul outil est un marteau, vous aurez tendance a ne voir que des clous
SergioMaster est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 26/02/2013, 20h52   #17
MIWAN
Membre du Club
 
Inscription : mars 2007
Messages : 96
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 96
Points : 64
Points : 64
Sergio

ça marche cette Requête . hé ben le thé avec du sucre et un peut de menthe donne des idées
MIWAN est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/02/2013, 07h59   #18
SergioMaster
Modérateur
 
Avatar de SergioMaster
 
Homme Serge Girard
Développeur informatique
Inscription : janvier 2007
Messages : 4 207
Détails du profil
Informations personnelles :
Nom : Homme Serge Girard
Âge : 56
Localisation : France

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

Informations forums :
Inscription : janvier 2007
Messages : 4 207
Points : 7 265
Points : 7 265
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 )
__________________
La seule chose absolue dans un monde comme le nôtre, c'est l'humour. » Albert Einstein
J'entends et j'oublie. Je vois et je me souviens. Je fais et je comprends . Confucius
Si votre seul outil est un marteau, vous aurez tendance a ne voir que des clous
SergioMaster est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/03/2013, 07h55   #19
Pierre GIRARD
Membre actif
 
Homme Pierre GIRARD
Retraité
Inscription : septembre 2002
Messages : 119
Détails du profil
Informations personnelles :
Nom : Homme Pierre GIRARD
Âge : 61
Localisation : France

Informations professionnelles :
Activité : Retraité

Informations forums :
Inscription : septembre 2002
Messages : 119
Points : 156
Points : 156
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
Pierre GIRARD est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 04/03/2013, 09h03   #20
Ph. B.
Expert Confirmé
 
Avatar de Ph. B.
 
Homme Philippe
Inscription : avril 2002
Messages : 1 026
Détails du profil
Informations personnelles :
Nom : Homme Philippe
Âge : 46
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : avril 2002
Messages : 1 026
Points : 2 651
Points : 2 651
Envoyer un message via ICQ à Ph. B. Envoyer un message via Skype™ à Ph. B.
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.
Ph. B. est déconnecté   Envoyer un message privé Réponse avec citation 10
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 23h42.


 
 
 
 
Partenaires

Hébergement Web