J'essaie de créer une vue pour l'une des tables que j'ai. Pour l'une des colonnes de la vue, je suis en train de lire la valeur des tableaux que j'ai:Lecture d'une valeur de colonne à partir de plusieurs tables en fonction de certaines conditions - postgreSQL
Tableau A:
id b_id c_id d_id
1 1
2 1
3 1
Tableau B:
id code
1 64
Tableau C:
id code
1 98
Tableau D:
id code
1 26
Dans les tableaux ci-dessus, A est ma table principale qui a deux références de clé étrangère aux tables B et C (b_id et c_id) respectivement. Et pour chaque ligne du tableau A, une seule des deux références (b_id ou c_id) sera remplie.
Ma tâche est de créer une vue pour la table A, dire V_A, qui aura les colonnes suivantes:
Voir V_A:
code code_table
64 B
98 C
26 D
Dans la vue ci-dessus, je dois d'abord vérifier pour chaque ligne de la table A, laquelle des références de clé étrangère sont remplies, sur la base de ce que je dois lire la colonne 'code' et la colonne 'code_table' aura le nom de la table que je remplis la colonne 'code'.
J'ai été capable de créer des vues simples mais c'est un peu difficile pour moi. Je vérifiais si je peux utiliser cas ... quand pour le même mais après un point qui est devenu un peu compliqué aussi. Je peux également lire le nom de table dans postgres du tableau information_schema. J'ai donc des bribes de solution mais je ne comprends pas comment tout mettre ensemble.
Quelqu'un peut-il me diriger dans la bonne direction?
Merci!
Merci pour la réponse, si j'ai plus deux tables à lire. Par exemple, avez 2 références de clés étrangères supplémentaires pour 2 tables de plus? –
vous supprimez la vue et en créer une autre - pour plus de table à rejoindre –
Mais votre réponse ne fonctionnera que si j'ai deux deux tables enfant. Avez-édité la question. –