Bonjour et bonne année 2016!
Désolé si le titre ne vous semble pas clair mais je ne sais pas vraiment comment aborder ça...
Je vais essayer d'être le plus clair possible. J'ai une liste de réceptions, une liste de plats (avec 3 types de plats), une liste d'invités, une liste de choix de plats pour une réception donnée
J'ai déjà réussi à faire ceci: une procédure stockée (cela pourrait être mis dans une vue aussi) qui m'affiche les plats choisi par l'organisateur pour une réception donnée
et quand je veux exécuter:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 USE [Reception] Create PROCEDURE [sInscri].[sp_ShowMenuCDessertByRec] @RecID INT AS BEGIN SELECT TOP 1000 [fkReception], [idPlat], [libPlat] FROM [Reception].[dbo].[tPlat] INNER JOIN [Reception].[dbo].[tMenuChoix] ON tPlat.idPlat = tMenuChoix.fkPlat AND fkReception = @RecID AND [fkPlatType] = 3 END
Exec sInscri.sp_ShowMenuCDessertByRec 4
il m'affiche par exemple 3 desserts (ici l'id de la réception, du plat, et son libellé)
Crème de mangues aux noix de cajou parfumée au citron
Mousse au chocolat parfumée aux noisettes (vegan)
Fondant au chocolat
Maintenant j'ai une table qui contient les inscriptions avec le choix d'un type de plat par inscription d'un invité
J'aimerais pouvoir utiliser les données générées par ma procédure stockée (ou de ma vue) dans ma clé étrangère.
C'est à dire que je voudrais dans fkChoixEntree, fkChoixPlat, fkChoixDessert, l'id du plat qu'il aura choisi mais ce plat se base sur tMenuChoix et pas sur tPlat. Je ne sais vraiment pas comment je vais implémenter cela.
En clair, j'ai une table tPlat qui liste mes plats, une table tMenuChoix qui liste les plats choisis par l'organisateur et je dois implémenter le choix de l'Invité, non pas sur tPlat mais sur tMenuChoix (et selon le type de plat).
Pour des raisons de logique (un seul choix, un type de plat, 3 plats), j'ai décidé pour faire simple de le mettre en 3 colonnes dans les inscriptions plutôt que d'en faire une table séparée. Si c'est plus simple pour vous de me donner une solution en utilisant une table séparée, je suis preneur!
Si vous avez des idées ou une autre manière d'y arriver je suis preneur car je suis complètement perdu sur la manière de solutionner ce problème
Et merci beaucoup!
Partager