1

我有两张桌子:

  1. 部分:_id,名称
  2. 项目:_id,名称,section_id

我正在尝试以这种方式对结果进行排序:

1 Section1
1 Item1 1
2 Item2 1
3 Item3 1
2 Section2
4 Item4 2
5 Item5 2

换句话说 - 将属于部分的项目放在部分本身的下方。

是否可以仅使用一个查询来实现这样的结果?

编辑

现在我正在使用INNER JOIN,但它并不完全适合我的目的:我需要知道查询中不同部分的确切数量,如果我能够知道下一部分的确切位置会很棒(现在我'我只是排序section_id并寻找它的变化)

4

2 回答 2

3

也许像这样,这里有一些小提琴

select 
        s._id sid,
        s.name, 
        null iid
    from 
        section s
union all
select 
        i.section_id sid, 
        i.name, 
        i._id iid
    from
        item i
    order by
        sid, iid
于 2013-02-13T17:24:04.840 回答
2

它可以像

select section._id as sectionId,section.name, 0  as itemId
from section 
union
select item.section_id as sectionId, item.name, item._id as itemId
from item
order by sectionId, itemId
于 2013-02-13T17:28:24.193 回答