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 :
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)
En exemple
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
Merci