Запрос SQL для возврата категории, если существуют подэлементы И «другое имя», если подэлементы существуют вне категории - PullRequest
1 голос
/ 07 декабря 2010

Извинения, если название сбивает с толку. По сути, у нас есть набор иерархических таблиц категорий, групп, коллекций и т. Д. С отдельными элементами в нижней части иерархии.

Итак, в целом у нас есть что-то вроде Category> Grouping> Collection> Item. Тем не менее, некоторые предметы не являются частью коллекции. Мне нужен запрос, который будет возвращать сведения о коллекции, если хотя бы один элемент существует в коллекции для заданных поисковых терминов, и «Другой» (значение флага или что-то еще), если элементы существуют в категории и группе, но не находятся в Коллекция (внешний ключ 'collection_id' в этом случае будет нулевым).

Результат, которого я пытаюсь достичь, выглядит примерно так:

Collection Name 1
    Item
    Item
    ...
Collection Name 2
    Item
    Item
    ...
Collection Name X
    Item
    ...
Other Items
    Item
    Item
    ...

Возможно ли (и достаточно просто) сделать это одним запросом?

1 Ответ

0 голосов
/ 07 декабря 2010

Это не будет форматировать данные так, как вы указали, но похоже, что что-то вроде SELECT CASE WHEN CollectionID IS NULL THEN 'Other Items' ELSE CollectionName END, ItemName поможет. Я в основном парень по SQL Server, но я думаю, что это довольно стандартный SQL.

...