bonjour;
je n'ai jamais travaillé avec oracle et je manque cruellement de documentation donc si qqun pouvait me fournir des liens ca serait sympa.
Mon problème est le suivant je dois faire fonctionner ma requete SQL server sous oracle :
SELECT famille.id idfamille, famille.code codefamille, famille.des desfamille, famille.com comfamille,
metier.id idmetier, metier.code codemetier, metier.des desmetier, metier.com commetier, emploi.id idemploi,
emploi.code codeemploi, emploi.des desemploi, emploi.com comemploi, poste.id idposte, poste.code codeposte,
poste.des desposte, poste.com composte ,tmp.effectif effectifPoste,tmp2.effectif effectifEmploi
FROM dtable famille
LEFT OUTER JOIN dtable metier ON famille.id = metier.lien
LEFT OUTER JOIN dtable emploi ON metier.id = emploi.lien
LEFT OUTER JOIN dtable poste ON emploi.id = poste.lien
LEFT OUTER JOIN (
SELECT emploi.id emploiid, count(*) effectif
FROM dtable famille, dtable metier, dtable emploi, pers_v volet_personne
WHERE famille.nom_table = 'NOMGPE0'
AND famille.id = metier.lien
AND metier.id = emploi.lien
AND emploi.id = volet_personne.id_table
AND famille.des like 'i%' GROUP BY emploi.id) tmp2
ON tmp2.emploiid = emploi.id
LEFT OUTER JOIN ( SELECT poste.id posteid, count(*) effectif
FROM dtable famille, dtable metier, dtable emploi, dtable poste, pers_v volet_personne
WHERE famille.nom_table = 'NOMGPE0' AND famille.id = metier.lien
AND metier.id = emploi.lien AND emploi.id = poste.lien
AND poste.id = volet_personne.id_table
AND famille.des like 'i%' GROUP BY poste.id ) tmp
ON tmp.posteid = poste.id
WHERE famille.nom_table = 'NOMGPE0'
AND famille.des like 'i%'
ORDER BY famille.des, metier.des, emploi.des, poste.des
j'ai alors réalisé celle ci:
SELECT famille.id idfamille, famille.code codefamille, famille.des desfamille, famille.com comfamille,
metier.id idmetier, metier.code codemetier, metier.des desmetier, metier.com commetier, emploi.id idemploi,
emploi.code codeemploi, emploi.des desemploi, emploi.com comemploi, poste.id idposte, poste.code codeposte,
poste.des desposte, poste.com composte ,tmp.effectif effectifPoste,tmp2.effectif effectifEmploi
FROM dtable famille,dtable metier,dtable emploi,dtable poste,
( SELECT emploi.id emploiid, count(*) effectif
FROM dtable famille, dtable metier, dtable emploi, pers_v volet_personne
WHERE famille.nom_table = 'NOMGPE0'
AND famille.id = metier.lien
AND metier.id = emploi.lien
AND emploi.id = volet_personne.id_table
AND famille.des like 'i%' GROUP BY emploi.id) tmp2,
( SELECT poste.id posteid, count(*) effectif
FROM dtable famille, dtable metier, dtable emploi, dtable poste, pers_v volet_personne
WHERE famille.nom_table = 'NOMGPE0' AND famille.id = metier.lien
AND metier.id = emploi.lien AND emploi.id = poste.lien
AND poste.id = volet_personne.id_table
AND famille.des like 'i%' GROUP BY poste.id ) tmp
WHERE famille.id = metier.lien (+)
AND metier.id = emploi.lien (+)
AND emploi.id = poste.lien (+)
AND tmp2.emploiid = emploi.id (+)
AND tmp.posteid = poste.id (+)
AND famille.nom_table = 'NOMGPE0'
AND famille.des like 'i%'
ORDER BY famille.des, metier.des, emploi.des, poste.des
mais elle est fausse. (
merci d'avance
---------------
L'été il fait bo