Je repose ma question car je pense que je me suis mal exprime.
Je vais essayer d'etre plus clair :
une premiere table : travaux
- num_travail
- status
- description_demande
- description_effectue
- prix
une deuxieme table : explicatif_etendu
(on y met les texte explicatifs des travaux.
- num_travail
- parent_description
- texte
Dans parent_description , on met le nom du champ qui est etendu:
par exemple si parent_description =3D 'description_demandee', j'ai un
texte qui etend le champ description_demandee.
Quelquefois on a une extention du champ de decription_demande ou / et
description_effectue / ou rien du tout...
Pour resumer dans la table explicatif_etendu je peux avoir 0 / 1 / 2
fiches liees par le num_travail.
Mon probleme est que je voudrai lister tous les travaux de la table
travaux, avec le contenu de la table explicatif_etendu qui ont
seulement la valeur 'description_demandee' dans le champ
parent_description.
Facile vous me direz :
.=2E. LEFT JOIN explicatif_etendu ON travaux.num_travail =3D
explicatif_etendu.num_travail) ... where
explicatif_etendu.parent_description=3D'description_demande'.
cela fonctionne , pour tous les travaux qui ont bien
'description_demande' , mais il ne me liste pas les travaux qui n'ont
PAS de description. ( donc pas de fiche liee dans la table
explicatif_etendu).
Si je ne met pas de condition
explicatif_etendu.parent_description=3D'description_demande', j'ai des
lignes en doublon pour le travaux qui ont
explicatif_etendu.parent_description=3D'description_demande' ET
explicatif_etendu.parent_description=3D'description_effectue'.
Il me faudrait pour dire :
explicatif_etendu.parent_description=3D'description_demande' et
explicatif_etendu.parent_description=3Dnothing.
Je ne sais pas si j'ai ete clair , et je ne peux pas modifier la
structure des tables :-((
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
pgz
Ponjour, Ge crois que ton pb est bien tordu. Mais solution peut-être il y a! Si tu veux faire un formulaire, c'est facile les compléments se présentent dans un SF. Si tu veux absolument une requête voici une vilaine astuce: Tu montes les deux tables mais en cassant le lien entre les num_travail. dans la table 2 des extensions, il faut un enregistrement vide, disons celui qui a pour ID le num 1. Conditions à exprimer sur table 2 ID = 1 OU ( Num_Travail = Table1.Num_Travail ET parent_description = 'description-demande'. Zalut, et bonne chance. pgz
Je repose ma question car je pense que je me suis mal exprime. Je vais essayer d'etre plus clair :
une premiere table : travaux - num_travail - status - description_demande - description_effectue - prix
une deuxieme table : explicatif_etendu (on y met les texte explicatifs des travaux. - num_travail - parent_description - texte
Dans parent_description , on met le nom du champ qui est etendu: par exemple si parent_description = 'description_demandee', j'ai un texte qui etend le champ description_demandee. Quelquefois on a une extention du champ de decription_demande ou / et description_effectue / ou rien du tout...
Pour resumer dans la table explicatif_etendu je peux avoir 0 / 1 / 2 fiches liees par le num_travail.
Mon probleme est que je voudrai lister tous les travaux de la table travaux, avec le contenu de la table explicatif_etendu qui ont seulement la valeur 'description_demandee' dans le champ parent_description.
Facile vous me direz : .... LEFT JOIN explicatif_etendu ON travaux.num_travail > explicatif_etendu.num_travail) ... where explicatif_etendu.parent_description='description_demande'.
cela fonctionne , pour tous les travaux qui ont bien 'description_demande' , mais il ne me liste pas les travaux qui n'ont PAS de description. ( donc pas de fiche liee dans la table explicatif_etendu). Si je ne met pas de condition explicatif_etendu.parent_description='description_demande', j'ai des lignes en doublon pour le travaux qui ont explicatif_etendu.parent_description='description_demande' ET explicatif_etendu.parent_description='description_effectue'.
Il me faudrait pour dire : explicatif_etendu.parent_description='description_demande' et explicatif_etendu.parent_description=nothing.
Je ne sais pas si j'ai ete clair , et je ne peux pas modifier la structure des tables :-((
Amicalement
Géo
Ponjour,
Ge crois que ton pb est bien tordu. Mais solution peut-être il y a!
Si tu veux faire un formulaire, c'est facile les compléments se présentent
dans un SF.
Si tu veux absolument une requête voici une vilaine astuce:
Tu montes les deux tables mais en cassant le lien entre les num_travail.
dans la table 2 des extensions, il faut un enregistrement vide, disons celui
qui a pour ID le num 1.
Conditions à exprimer sur table 2
ID = 1 OU ( Num_Travail = Table1.Num_Travail ET parent_description =
'description-demande'.
Zalut, et bonne chance.
pgz
Je repose ma question car je pense que je me suis mal exprime.
Je vais essayer d'etre plus clair :
une premiere table : travaux
- num_travail
- status
- description_demande
- description_effectue
- prix
une deuxieme table : explicatif_etendu
(on y met les texte explicatifs des travaux.
- num_travail
- parent_description
- texte
Dans parent_description , on met le nom du champ qui est etendu:
par exemple si parent_description = 'description_demandee', j'ai un
texte qui etend le champ description_demandee.
Quelquefois on a une extention du champ de decription_demande ou / et
description_effectue / ou rien du tout...
Pour resumer dans la table explicatif_etendu je peux avoir 0 / 1 / 2
fiches liees par le num_travail.
Mon probleme est que je voudrai lister tous les travaux de la table
travaux, avec le contenu de la table explicatif_etendu qui ont
seulement la valeur 'description_demandee' dans le champ
parent_description.
Facile vous me direz :
.... LEFT JOIN explicatif_etendu ON travaux.num_travail > explicatif_etendu.num_travail) ... where
explicatif_etendu.parent_description='description_demande'.
cela fonctionne , pour tous les travaux qui ont bien
'description_demande' , mais il ne me liste pas les travaux qui n'ont
PAS de description. ( donc pas de fiche liee dans la table
explicatif_etendu).
Si je ne met pas de condition
explicatif_etendu.parent_description='description_demande', j'ai des
lignes en doublon pour le travaux qui ont
explicatif_etendu.parent_description='description_demande' ET
explicatif_etendu.parent_description='description_effectue'.
Il me faudrait pour dire :
explicatif_etendu.parent_description='description_demande' et
explicatif_etendu.parent_description=nothing.
Je ne sais pas si j'ai ete clair , et je ne peux pas modifier la
structure des tables :-((
Ponjour, Ge crois que ton pb est bien tordu. Mais solution peut-être il y a! Si tu veux faire un formulaire, c'est facile les compléments se présentent dans un SF. Si tu veux absolument une requête voici une vilaine astuce: Tu montes les deux tables mais en cassant le lien entre les num_travail. dans la table 2 des extensions, il faut un enregistrement vide, disons celui qui a pour ID le num 1. Conditions à exprimer sur table 2 ID = 1 OU ( Num_Travail = Table1.Num_Travail ET parent_description = 'description-demande'. Zalut, et bonne chance. pgz
Je repose ma question car je pense que je me suis mal exprime. Je vais essayer d'etre plus clair :
une premiere table : travaux - num_travail - status - description_demande - description_effectue - prix
une deuxieme table : explicatif_etendu (on y met les texte explicatifs des travaux. - num_travail - parent_description - texte
Dans parent_description , on met le nom du champ qui est etendu: par exemple si parent_description = 'description_demandee', j'ai un texte qui etend le champ description_demandee. Quelquefois on a une extention du champ de decription_demande ou / et description_effectue / ou rien du tout...
Pour resumer dans la table explicatif_etendu je peux avoir 0 / 1 / 2 fiches liees par le num_travail.
Mon probleme est que je voudrai lister tous les travaux de la table travaux, avec le contenu de la table explicatif_etendu qui ont seulement la valeur 'description_demandee' dans le champ parent_description.
Facile vous me direz : .... LEFT JOIN explicatif_etendu ON travaux.num_travail > explicatif_etendu.num_travail) ... where explicatif_etendu.parent_description='description_demande'.
cela fonctionne , pour tous les travaux qui ont bien 'description_demande' , mais il ne me liste pas les travaux qui n'ont PAS de description. ( donc pas de fiche liee dans la table explicatif_etendu). Si je ne met pas de condition explicatif_etendu.parent_description='description_demande', j'ai des lignes en doublon pour le travaux qui ont explicatif_etendu.parent_description='description_demande' ET explicatif_etendu.parent_description='description_effectue'.
Il me faudrait pour dire : explicatif_etendu.parent_description='description_demande' et explicatif_etendu.parent_description=nothing.
Je ne sais pas si j'ai ete clair , et je ne peux pas modifier la structure des tables :-((
Amicalement
Géo
olivier
et bien en relisant mon envoi , j'ai eu une illumination si ca interesse quelqu'un :-)
- l'astuce etait de mettre la condition dans le LEFT JOINT et non dans le WHERE !! ...LEFT JOIN dbo_longdescription ON (travaux.num_travail = explicatif_etendu.num_travail and parent_description='description_demandee') ainsi meme les ligne qui n'ont pas de de description sont retournee par le LEFT JOIN.
Merci quand meme pour l'astuce !!
Amicalement
Géo
et bien en relisant mon envoi , j'ai eu une illumination si ca
interesse quelqu'un :-)
- l'astuce etait de mettre la condition dans le LEFT JOINT et non dans
le WHERE !!
...LEFT JOIN dbo_longdescription ON (travaux.num_travail =
explicatif_etendu.num_travail and
parent_description='description_demandee')
ainsi meme les ligne qui n'ont pas de de description sont retournee par
le LEFT JOIN.
et bien en relisant mon envoi , j'ai eu une illumination si ca interesse quelqu'un :-)
- l'astuce etait de mettre la condition dans le LEFT JOINT et non dans le WHERE !! ...LEFT JOIN dbo_longdescription ON (travaux.num_travail = explicatif_etendu.num_travail and parent_description='description_demandee') ainsi meme les ligne qui n'ont pas de de description sont retournee par le LEFT JOIN.