Excuses si le titre est confus. Essentiellement, nous avons un ensemble de tables hiérarchiques de catégories, de regroupements, de collections, etc. avec des éléments individuels au bas de la hiérarchie.Requête SQL pour retourner une catégorie si des sous-éléments existent ET 'autre nom' s'il existe des sous-éléments avec la catégorie
Donc, dans l'ensemble, nous avons quelque chose comme Catégorie> Regroupement> Collection> Article. Cependant, certains articles ne font pas partie d'une collection. Ce dont j'ai besoin est une requête qui retournera les détails de collection si au moins un article existe dans la collection pour des termes de recherche donnés, et "Autre" (une valeur de drapeau ou quelque chose) si des articles existent dans la catégorie et le groupement, mais ne sont pas une collection (la clé étrangère 'collection_id' sera null dans ce cas).
Le résultat que je suis en train de réaliser est quelque chose comme:
Collection Name 1
Item
Item
...
Collection Name 2
Item
Item
...
Collection Name X
Item
...
Other Items
Item
Item
...
Est-il possible (et assez simple) de le faire avec une seule requête?
Pouvez-vous donner une structure de table partielle? Il existe plusieurs façons d'implémenter des données hiérarchiques. – NotMe
Malheureusement, je n'ai pas la structure devant moi - j'allais poster ce que je crois que c'est, mais je ne peux pas être sûr de l'exactitude jusqu'à demain. C'est une hiérarchie assez simple cependant avec chaque table ayant un PK, et un FK à la table directement ci-dessous dans la structure à l'exception des éléments qui ont des liens FK aux 3 tables au-dessus dans la hiérarchie. S'il n'y a pas de réponse, je mettrai à jour le PO avec un échantillon de structure demain matin. – thor