merci Jean-Michel

J'ai trouv�, �a marche avec des parenth�ses :
SELECT `clients`.*, `contrats`.*, `dates`.*
FROM clients, contrats, dates
WHERE ((`contrats`.`ref_cli` =`clients`.`ref`) AND (`dates`.`ref_contrat` =`contrats`.`ID`))


Question : est-ce que LEFT JOIN apporte quelque chose de plus ou est-ce la m�me chose sous une autre forme ?

Jean-Michel a �crit :

Le 21/04/05, f<[EMAIL PROTECTED]> a �crit :


Bonjour,

Pour gerer des dates de spectacles j'ai 3 tables : Clients, Contrats et
Dates
Chaque client peut avoir plusieurs contrats
Chaque contrats peut comprendre plusieurs dates

Je souhaite, en choisissant un client et un contrat, pouvoir g�n�rer un
document texte qui contienne
   - les coordon�es du client
   - les donn�es du contrat
   - la liste des dates du contrat

J'ai essay� de cr�er une requ�te avec l'�diteur de requ�te d'OOo.
Le SQL g�n�r� par OOo est :

SELECT `clients`.*, `contrats`.*, `dates`.* FROM `gestion`.`contrats`
`contrats`, `gestion`.`clients` `clients`, `gestion`.`dates` `dates`
WHERE ( `contrats`.`ref_cli` = `clients`.`id` AND `dates`.`ref_contrat`
= `contrats`.`ID` )

Cette requ�te donne un resultat vide... Pourquoi ?



Tu ne lui explique pas assez bien comment tes tables sont articul�es, il ne comprend pas... il faut lui donner explicitement les relations entre tes tables pour qu'il puisse les articluer et te donner les r�sultats...

par exemple (c'est tir� de d'une appli en php que j'ai faite ce qui
explique les $ devant les variables)

select nomenc_fils, nomenc_qte, articles_designation,
articles_numplan, nomenc_dechet, nomenc_debut, nomenc_fin

from nomenc left join articles on nomenc_fils=articles_code

where nomenc_pere="$article" and nomenc_debut<="$date_valid" and
(nomenc_fin>"$date_valid") or  nomenc_fin="0000-00-00");

ici on d�finit une relation un � plusieurs entre la table nomenclature
et la table article sur les champs nomenc_fils (de la table nomenc) et
articles_code (de la table article) ce qui permet d'extraire les infos
de l'article et les renvoyer dans la requ�te

on pourrait imaginer un truc du genre :

select clients.*, contrats.*, date.* from clients left join contrats on clients.id=contrat.idclient left join dates on contrat.id=dates.idcontrat
where (tu mets l� tes r�quisitions)







---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Répondre à