如果存在sub_items则返回类别的SQL查询;如果sub_items存在于类别之外,则返回“其他名称”

时间:2010-12-06 23:15:43

标签: sql database select informix

如果标题令人困惑,请道歉。从本质上讲,我们有一组类别,分组,集合等的层次表,在层次结构的底部有单独的项目。

总的来说,我们有像Category>这样的东西。分组>收集>项目。但是,某些项目不属于集合。我需要的是一个查询,如果在给定搜索条件的集合中至少存在一个项目,则返回集合详细信息;如果项目存在于类别和分组中但是不存在,则返回“其他”(标记值或其他内容)集合(在这种情况下,外键'collection_id'将为null)。

我想要达到的结果是:

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

是否可以(并且足够简单)使用一个查询执行此操作?

1 个答案:

答案 0 :(得分:0)

这不会像你指示的那样格式化数据,但看起来像SELECT CASE WHEN CollectionID IS NULL THEN 'Other Items' ELSE CollectionName END, ItemName这样的东西可以解决问题。我主要是一个SQL Server人,但我认为这是非常标准的SQL。