begin process at 2010 02 10 10:52:39
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Delphi

 > 

Base de données

 > 

Autre

 > 

inner join en delphi


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

inner join en delphi

lundi 30 mars 2009 à 15:20:20 | inner join en delphi

sidalilo

J'ai une requête (une sous-requëte retournant une table) du genre

 

SELECT *

FROM (SELECT  champ1, AVG (champ2), champ3

              FROM tbl1

              GROUP BY champ3) T1

            INNER JOIN (SELECT champ4, champ5

                                   FROM (SELECT  champ1, AVG (champ2), champ3

                                               FROM tbl1

                                                 GROUP BY champ3) ) T2

            ON T1.champ1=T2.champ2

 

 Dans L'IDE Delphi, événement sur clic d'un bouton

Nom de TQuery = qryBulletin


je tape ce qui suit

 qryBulletin.Sql.Add ('SELECT *') ;

qryBulletin.Sql.Add ('FROM (SELECT  champ1, AVG (champ2), champ3'

                                                + 'FROM tbl1'

+ 'GROUP BY champ3) T1 ;

qryBulletin.Sql.Add   ('INNER JOIN (SELECT champ4, champ5 '

                                + ' FROM (SELECT  champ1, AVG (champ2), champ3 '

                                               + ' FROM tbl1 '

                                               + 'GROUP BY champ3) ) T2 ') ;

qryBulletin.Sql.Add ('ON T1.champ1=T2.champ2') ;


mais à l'exécution quand je clique sur le bouton il y a un message d'erreur (Invalid use of key token SELECT line 2)  signalé à la ligne 2 sur le SELECT

Aidez moi svp !
vendredi 3 avril 2009 à 20:38:22 | Re : inner join en delphi

cantador

Membre Club
bonsoir,

j'ai pas testé (je suppose que c'est du SQL paradoxe..)
mais je rajouterai :

SELECT *
FROM (SELECT  champ1, AVG (champ2) as Moyenne1, champ3
FROM tbl1
GROUP BY champ3) T1
INNER JOIN (SELECT champ4, champ5
FROM (SELECT  champ1, AVG (champ2) as Moyenne2, champ3
FROM tbl1
GROUP BY champ3) ) T2
ON T1.champ1=T2.champ2


cantador

samedi 4 avril 2009 à 11:29:13 | Re : inner join en delphi

Delphiprog

Administrateur CodeS-SourceS
@sidalilo : pourrais-tu préciser le type de base de données utilisée ?

May Delphi be with you
Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.
samedi 4 avril 2009 à 12:29:05 | Re : inner join en delphi

sidalilo

bonjour..
merci delphiprog pour votre attention.
je travail sur une base de données paradox et le probleme toujour est que j'arrive pas de faire ce resultat en sql :

je travail sur une base de données paradox avec sql en delphi et je veux afficher les dernieres dates pour chaque enregistrement sauvegardé dans la base de données,ca veut dire les maximales date pour chaqu'un

pour bien expliquer si un enregistrement des enregistrements possede la date d'aujourdhui alors sa date maximale va étre afficher est la date d'aujourdhui biensur avec ses informations.

exemple:

Symbole   Achat    Vente         Date
Euro        112      113          20/03/2009
Euro        112.3     113.5     25/03/2009
Euro        112.2     113.4     04/04/2009
SUD        80         90           10/03/2009
SUD        80.5      90.5        15/03/2009

maintenant le resultat je veux en sql  c'est:
Euro        112.2     113.4     04/04/2009
SUD        80.5      90.5        15/03/2009
 j'espere que vous avez compris mon probleme et je vous remercie toujour pour votre attention et je attend votre reponse.
cordialement sidalilo.

samedi 4 avril 2009 à 13:27:37 | Re : inner join en delphi

Delphiprog

Administrateur CodeS-SourceS
Réponse acceptée !
Alors, pour commencer, je te conseille de renommer ton champ "date" en "date_xxx" parce que :
1 - xxx donnera une indication sur le type de date contenu dans ce champ
2 - "date" est un mot réservé du SQL et tu ne devrais pas l'utiliser sauf si tu veux te créer des problèmes
La requête devient  lors tout simplement :
SELECT t1.symbole, t1.achat, t1.vente, t1.date_x as "date"
FROM test t1
WHERE t1.date_x = (SELECT MAX(t2.date_x) FROM test t2 WHERE t2.symbole=t1.symbole)

Résultat obtenu (au format CSV):
"symbole","achat","vente","date"
"Euro",112.2,113.4,"2009-04-04"
"SUD",80.5,90.5,"2009-03-15"

Pour tester ce code, voici le code de création utilisé pour la table :
CREATE TABLE  `sidalilo`.`test` (
  `symbole` varchar(10) default 'Euro',
  `achat` float default NULL,
  `vente` float default NULL,
  `date_x` date default NULL
) ;

Cordialement,

May Delphi be with you
Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.
samedi 4 avril 2009 à 15:10:03 | Re : inner join en delphi

sidalilo

merci bien delphiprog maintenant mon probleme est resolu
c'est grace à toi
je vous remercie encore pour votre attention.

cordialement sidalilio.
dimanche 5 avril 2009 à 18:48:54 | Re : inner join en delphi

cantador

Membre Club
de la moyenne au maximum...

cantador


Cette discussion est classée dans : select, from, champ1, champ2, champ3


Répondre à ce message

Sujets en rapport avec ce message

Sous requete retournant une table [ par tleboukaka ] J'ai une requête (une sous-requëte retournant une table) du genre transformer une requete [ par tarik ] salutcomment transformer une requete simple en une requete multi-niveaux , exemple :select nom,prénomfrom employéwhere salaire = 12000devient select n requete sql avec or sur le même champs [ par choup ] 'lutj'ai un petit probleme et je n'arrive pas à comprendre pourquoi : celà ne me semble pas logique.voilà : j'ai une requete qui donne "select *from o tri d'une table [ par impossibleok ] bjr; j'ai Table1 avec les champs (champ1, champ2 et champ3 avec champ1 comme index) sur ma forme Form1 j'affiche ma table dans DBGrid1 mais j'aimerai SQL - problème avec 'Like %' [ par droopy30 ] Bonjour,Je tente de faire un petit programme sous DELPHI 2006 qui accède à une base de mots en ACCESS (1 table, 2 champs).Je voudrais filtré le conten PB Requete SQL :( [ par funemul ] Voila le probleme :J'utilise un Tquery et ma requete est la suivante :SELECT * FROM annee_2003 WHERE DATE_DU = 01-12-2003Et la requete ne me selection From unit diferente [ par mickeydisn ] voila dans mon projet . j'ai une gross form avec beaucoup de bouton .. le probleme ses que j'ai pas mal de code a fournir dans mon projet ... je voudr Renvoi d'1 SELECT ds Variable [ par TheShAmAn ] Voici ma fonction qui doit récupérer le résultat de la requête :function Tfrmba.Select(CorpsReq: string):string; var selection : string; begin SELECT renoyer ds 1 Variable [ par TheShAmAn ] Voici ma fonction qui doit récupérer le résultat de la requête :function Tfrmba.Select(CorpsReq: string):string;varselection : string;beginfrmba.Reque ActionManager [ par skiso ] comment parametree les couleurs du menu avec le style xp(font,color,select font, select button), mais au demarager; pas apres.merci


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,558 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales