Tu sembles d'accord sur le principe, donc.
Nous bifurquons vers le traitement proprement dit...
En premier lieu, il faut utiliser des jointures plutôt que des "WHERE id=". Ensuite, avec le schéma qui semble te convenir, nous devrions obtenir les tables suivantes :
Appel(IdAppel, DateAppel, ...)
TypeAppel(IdTypeAppel, [champs communs à problème/installation/enlèvement/information] ...)
Probleme(IdTypeAppel, [champs propres à problème] ...)
Installation(IdTypeAppel, [champs propres à installation] ...)
Enlevement(IdTypeAppel, [champs propres à enlèvement] ...)
Information(IdTypeAppel, [champs propres à information] ...)
Peut-être, prévoir un trigger de contrôle inter-tables, suivant ce que tu souhaites.
Dès lors, les jointures (LEFT JOIN) deviennent relativement évidentes.
Partager