[SQL] Combine 'left outer join' and 'inner join'

2003-07-24 Thread ext-thierry . templier
Hello,

I have a problem with a sql request on Postgresql.
It uses 'left outer join' and 'inner join'

Here is my request:

select a.acte_id,a.acte_libelle,a.acte_url_image,a.acte_page,
a.acte_texte,a.acte_marge_texte,a.acte_date,a.acte_registre_page,
commune.commune_id,commune.commune_nom,commune.commune_nom_equivalent,
departement.departement_id,departement.departement_nom,departement.departement_numero,
pays.pays_id,pays.pays_nom, t.type_acte_id,t.type_acte_nom,
r.registre_id,r.registre_cote,r.registre_libelle,r.registre_annee_debut,
r.registre_annee_fin,r.registre_disponible,r.registre_repertoire,r.registre_transformation,
source.source_id,source.source_libelle,source.source_description,
source.source_cote,source.source_auteur,
archive.archive_id,archive.archive_libelle,archive.archive_libelle_recherche,
adresse_id,adresse_libelle,adresse_libelle1,adresse_libelle2,
commune1.commune_id as commune1_id, commune1.commune_nom as commune1_nom,
commune1.commune_nom_equivalent as commune1_nom_equivalent,
departement1.departement_id as departement1_id,
departement1.departement_nom as departement1_nom,
departement1.departement_numero as departement1_numero,
pays1.pays_id as pays1_id,pays1.pays_nom as pays1_nom
 from acte a
   left outer join registre as r
 on ( a.acte_registre_id = r.registre_id )
   inner join commune
 on ( a.acte_lieu_id = commune.commune_id )
 inner join departement
   on ( commune.commune_departement_id = departement.departement_id )
   inner join pays
 on ( departement.departement_pays_id = pays.pays_id )
   inner join type_acte as t
 on ( a.acte_type_id=t.type_acte_id )
   inner join source
 on ( a.acte_source_id=source.source_id )
 left outer join archive
   on ( source.source_archive_id = archive.archive_id )
 inner join adresse
   on ( archive.archive_adresse_id = adresse.adresse_id )
 left outer join commune as commune1
   on ( adresse.adresse_commune_id = commune1.commune_id )
 left outer join departement as departement1
   on ( commune1.commune_departement_id = departement1.departement_id )
 left outer join pays as pays1
   on ( departement1.departement_pays_id = pays1.pays_id )
 and a.acte_id=1;

It is based on the data model that you can find at the following url:
http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/jgenea/jgenea-dao/src/sql/hypersonic/crebas-hsql.sql?rev=1.18&content-type=text/vnd.viewcvs-markup

This request must return only one line but the 'left outer join', there are several 
lines.
I think that I don't correctly use 'left outer join'...
Is anyone know how to use it?
Thanks by advance for your help.
Thierry




xxx
Ce message et toutes les pieces jointes (ci - apres le  \"message\" ) sont etablis a 
l'attention exclusive de ses destinataires et sont strictement confidentiels. Si vous 
n'etes pas le destinataire du message, il vous est interdit d'en faire la copie, de le 
faire suivre,  d'en divulguer le contenu ou de l'utiliser en tout ou partie. Si vous 
avez recu ce message par erreur, merci d'en avertir immediatement l'expediteur et de 
le detruire.
L'integrite du message n'est pas assuree sur Internet, chaque information pouvant etre 
interceptee, modifiee, perdue, subir un retard dans sa transmission ou contenir des 
virus. L'expediteur decline donc toute responsabilite pour toute alteration, 
deformation ou falsification subie par le message au cours de sa transmission.
Toute opinion contenue dans ce message appartient a son auteur et ne peut engager la 
responsabilite du CCF ou de l'entite expeditrice du message, a moins que cela ait ete 
clairement specifie dans le message et qu'il soit verifie que son auteur etait en 
mesure d'engager le CCF ou ladite entite.

xxx
This message and any attachments are confidential to the ordinary user of the e-mail 
address to which it was addressed and may also be privileged. 
If you are not the addressee you may not copy, forward, disclose or use any part of 
the message or its attachments and if you have received this message in error, please 
notify the sender immediately by return e-mail and delete it from your system.
Internet communications cannot be guaranteed to be secure or error-free as information 
could be intercepted, corrupted, lost, arrive late or contain viruses. The sender 
therefore does not accept liability for any errors or omissions in the context of this 
message which arise as a result of Internet transmission.
Any opinions contained in this message are those of the author and are not given or 
endorsed by the CCF or office through which this message is sent unless otherwise 
clearly indicated in this message and the authority of the author to so bind the CCF 
entity referred to is duly verified.
xxx

---(end of broadcast)---

[SQL] Left outer join and sub queries alias

2003-10-23 Thread ext-thierry . templier

Hello,

I try to make work this request:

select *
 from
  ( select * from personne_nom where personne_nom_pal=1 ) as tmp,
  personne
   left outer join tmp
 on ( personne.personne_id = tmp.personne_nom_personne_id )

 where personne_id=57

The error on execution is:
ERROR:  Relation "tmp" does not exist

Has anyone already had this problem?
Thanks
Thierry




Les informations contenues dans ce message sont confidentielles et peuvent constituer 
des informations privilegiees. Si vous n etes pas le destinataire de ce message, il 
vous est interdit de le copier, de le faire suivre, de le divulguer ou d en utiliser 
tout ou partie. Si vous avez recu ce message par erreur, merci de le supprimer de 
votre systeme, ainsi que toutes ses copies, et d en avertir immediatement l expediteur 
par message de retour.
Il est impossible de garantir que les communications par messagerie electronique 
arrivent en temps utile, sont securisees ou denuees de toute erreur ou virus. En 
consequence, l expediteur n accepte aucune responsabilite du fait des erreurs ou 
omissions qui pourraient en resulter.
--- - ---
The information contained in this e-mail is confidential. It may also be legally 
privileged. If you are not the addressee you may not copy, forward, disclose or use 
any part of it. If you have received this message in error, please delete it and all 
copies from your system and notify the sender immediately by return e-mail.
E-mail communications cannot be guaranteed to be timely secure, error or virus-free. 
The sender does not accept liability for any errors or omissions which arise as a 
result.


---(end of broadcast)---
TIP 9: the planner will ignore your desire to choose an index scan if your
  joining column's datatypes do not match