繁体   English   中英

SQL查询返回子类别(如果存在sub_items)和“其他名称”(如果sub_items存在类别之外)

[英]SQL query to return category if sub_items exist AND 'other name' if sub_items exist outwith category

如果标题令人困惑,我们深表歉意。 本质上,我们有一组类别,分组,集合等的层次结构表,各个项目位于层次结构的底部。

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

我想要达到的结果是这样的:

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

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

这不会像您指示的那样格式化数据,但是SELECT CASE WHEN CollectionID IS NULL THEN 'Other Items' ELSE CollectionName END, ItemName就像在SELECT CASE WHEN CollectionID IS NULL THEN 'Other Items' ELSE CollectionName END, ItemName就可以了。 我主要是SQL Server专家,但是我认为这是非常标准的SQL。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM