如果标题令人困惑,请道歉。从本质上讲,我们有一组类别,分组,集合等的层次表,在层次结构的底部有单独的项目。
总的来说,我们有像Category>这样的东西。分组>收集>项目。但是,某些项目不属于集合。我需要的是一个查询,如果在给定搜索条件的集合中至少存在一个项目,则返回集合详细信息;如果项目存在于类别和分组中但是不存在,则返回“其他”(标记值或其他内容)集合(在这种情况下,外键'collection_id'将为null)。
我想要达到的结果是:
Collection Name 1
Item
Item
...
Collection Name 2
Item
Item
...
Collection Name X
Item
...
Other Items
Item
Item
...
是否可以(并且足够简单)使用一个查询执行此操作?
答案 0 :(得分:0)
这不会像你指示的那样格式化数据,但看起来像SELECT CASE WHEN CollectionID IS NULL THEN 'Other Items' ELSE CollectionName END, ItemName
这样的东西可以解决问题。我主要是一个SQL Server人,但我认为这是非常标准的SQL。