Bonjour,
Je débute, et je souhaiterai savoir si l'on peu dans un requête SQL, insérer une variable qui serait le nom d'un champ ?
Je m'explique. J'essaie pour me former de réaliser une petite application destinée à un service informatique.
Cette dernière doit permettre de réceptionner les demandes d'intervention sur le logiciel ou le materiel .
Pour simplifier, j'ai 4 tables :
- tbl_dde (id_dde, dde_date, id_famille (FK --> tbl_famille.id_famille), id_outil (FK --> tbl_mat.id_mat ou tbl_log.id_log), ...)
- tbl_famille (id_famille (FK --> tbl_dde.id_famille), famille_nom, famille_var)
1 MATERIEL mat
2 LOGICIEL log
-tbl_mat (id_mat(FK --> tbl_dde.id_outil) mat_nom)
1 UC
2 ECRAN
-tbl_log (id_log(FK --> tbl_dde.id_outil), log_nom)
1 WORD
2 EXCEL
Si c'est possible, ce que je souhaiterai, c'est de ne réaliser qu'une seule requête sur les tables tbl_mat ou tbl_log (même structure).
la finalité est d'afficher en fonction de la famille(id) le Materiel ou Logiciel faisant l'objet d'une demande.
Il faudrait faire une jointure entre "id_dde.id_famille = id_famille.id_famille" pour récupérer "famille_var"
et injecter le "famille_var" dans une requête pour récupérer tbl_log.log_nom ou tbl_mat.mat_nom :
En exemple
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 SELECT (famille_var + '_nom') FROM ('tbl_' + famille_var) WHERE tbl_dde.id_objet = ('tbl_' + famille.var).('id_' + famille.var)
Merci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 SELECT mat_nom FROM tbl_mat WHERE tbl_dde.id_objet = tbl_mat.id_mat
Partager