[JAVA ODBC] Jointure mutliple

Voir le sujet précédent Voir le sujet suivant Aller en bas

[JAVA ODBC] Jointure mutliple

Message  nico le Jeu 03 Jan 2008, 23:53

Bonsoir a tous,

Nous avons un probleme dans notre code java. D'une part nous n'arrivons pas a faire plus d'une seule jointure dans une même requete :

Code:
String query="Select nomArtiste,prenomArtiste FROM Artiste LEFT JOIN Disque ON Artiste.idArtiste=Disque.artisteDisque";

d'autre part nous n'arrivons pas non plus a ajouté un parametre réçu dans cette requete, par exemple :

Code:
String query="Select nomDisque FROM Disque LEFT JOIN Genre ON Disque.genreDisque="+idGenre;

idGenre étant biensur un int...

Quelqu'un a t-il déjà eu le soucis?

Merci d'avance

Nico & benny ;o)

nico

Nombre de messages : 86
Prénom : Los Angeles euhh... Charleroi :s
Date d'inscription : 08/02/2006

Revenir en haut Aller en bas

...

Message  nico le Ven 04 Jan 2008, 00:26

Trouvé...

Code:
String query="Select nomArtiste,prenomArtiste FROM Artiste,Disque,Genre where Artiste.idArtiste=Disque.artisteDisque and Disque.genreDisque="+idGenre;

ceci marche... j'ai regardé sur le site de sun ici
et j'ai remarqué qu'ils fesaient toutes leurs jointures avec la clause where... quelqu'un a une idée de pourquoi ça ne fonctionne pas avec un JOIN classique ou même un LEFT JOIN

nico

Nombre de messages : 86
Prénom : Los Angeles euhh... Charleroi :s
Date d'inscription : 08/02/2006

Revenir en haut Aller en bas

Re: [JAVA ODBC] Jointure mutliple

Message  Shin le Sam 05 Jan 2008, 21:15

C'est la librairie qui est comme ça je suppose. Mais à mon avis, tu dois pouvoir faire du SQL standard.
Sinon tu peux aller faire un tour de ce côté de Faq JDBC, tu trouveras peut être des réponses à ce que tu cherches.

Shin

Nombre de messages : 8
Age : 32
Prénom : Nicolas
Statut : ancien
Localisation : Waterloo
Date d'inscription : 04/01/2008

http://enjeux-climat.over-blog.com

Revenir en haut Aller en bas

Re: [JAVA ODBC] Jointure mutliple

Message  erka le Dim 06 Jan 2008, 01:49

je ne sais pas pourquoi mais cela me semble logique que ce que tu faisais au début ne fonctionne pas

erka

Nombre de messages : 495
Age : 29
Prénom : Julian
Statut : ancien reseaux
Localisation : Charleroi
Date d'inscription : 23/10/2006

http://www.vanden.be

Revenir en haut Aller en bas

Re: [JAVA ODBC] Jointure mutliple

Message  yoda le Dim 06 Jan 2008, 10:20

dans tes trois query sql y te manque toujours la correspondance entre deux table ...

je te propose un truc du style :
Code:
SELECT nomArtiste, prenomArtiste
FROM Artiste AS a
    JOIN Disque AS d ON a.idArtiste = d.artisteDisque
    JOIN Genre AS g ON d.genreDisque = g.idGenre
WHERE d.genreDisque = 'idGenre' ;
la dedans tu as la jointure entre tes trois tables, en supposant que ta cle primaire de ta table Genre est un champs s'appellant idGenre et que dans la table Disque on retrouve un champs genreDisque ... une fois cela fais, tu peux faire ta restriction sur le genre ...

si ta variable idGenre (utilisee dans le where) est la cle primaire de la table Genre, il n'est evidemment pas utile de faire une jointure avec la table Genre ...

et histoire de limiter les resultat a un par artiste, je verrais bien un distinct la dedans ...

yoda

Nombre de messages : 1119
Age : 33
Prénom : Antoine
Statut : Ancien
Localisation : Bruxelles
Date d'inscription : 17/12/2006

Revenir en haut Aller en bas

Re: [JAVA ODBC] Jointure mutliple

Message  nico le Dim 06 Jan 2008, 12:48

yoda a écrit:dans tes trois query sql y te manque toujours la correspondance entre deux table ...

je te propose un truc du style :
Code:
SELECT nomArtiste, prenomArtiste
FROM Artiste AS a
    JOIN Disque AS d ON a.idArtiste = d.artisteDisque
    JOIN Genre AS g ON d.genreDisque = g.idGenre
WHERE d.genreDisque = 'idGenre' ;
la dedans tu as la jointure entre tes trois tables, en supposant que ta cle primaire de ta table Genre est un champs s'appellant idGenre et que dans la table Disque on retrouve un champs genreDisque ... une fois cela fais, tu peux faire ta restriction sur le genre ...

si ta variable idGenre (utilisee dans le where) est la cle primaire de la table Genre, il n'est evidemment pas utile de faire une jointure avec la table Genre ...

et histoire de limiter les resultat a un par artiste, je verrais bien un distinct la dedans ...

Cool yoda merci, c'est vrai que ta solution est plus propre, je vais la tester et virer le where qui sert a rien Smile Bien vu pour les nom des attribut c'est tt a fait cela, c'est bien c'est que mes noms sont assez explicite Smile

Bonne journée a tous Very Happy

nico

Nombre de messages : 86
Prénom : Los Angeles euhh... Charleroi :s
Date d'inscription : 08/02/2006

Revenir en haut Aller en bas

Re: [JAVA ODBC] Jointure mutliple

Message  yoda le Dim 06 Jan 2008, 20:29

nico a écrit:Cool yoda merci, c'est vrai que ta solution est plus propre
c'est pas une question de solution propre ou non ... c'est simplement que ce que t'avais fais ne rimais a rien et etais inexacte ...

yoda

Nombre de messages : 1119
Age : 33
Prénom : Antoine
Statut : Ancien
Localisation : Bruxelles
Date d'inscription : 17/12/2006

Revenir en haut Aller en bas

Re: [JAVA ODBC] Jointure mutliple

Message  Contenu sponsorisé Aujourd'hui à 14:33


Contenu sponsorisé


Revenir en haut Aller en bas

Voir le sujet précédent Voir le sujet suivant Revenir en haut


 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum