Название - дерьмо, потому что я на самом деле не уверен, что это называется. Я спрашиваю, потому что я не могу быть первым, кто захочет это сделать. (Я использую «все» или WE иметь в виду, не имеет значения)SQL - выбор уникальных, не нулевых вещей и упорядочение - работа с «семьями» вещей
Series table:
id seriesName
1 WE
2 WE
id title series seriesPosition seriesName
1 A 0 0 ""
2 B 1 0 "Part I"
3 F 1 1 "Part II"
4 D 1 2 "Part III"
5 C 2 0 ""
6 E 2 1 "The return"
7 G 0 0 ""
Я хотел бы отсортировать так набор данных в порядке, приведенная выше таблица находится. То есть сказать, что титул сортируется в порядке возрастания, а остальная часть серии следует первой в этой серии. Вот почему 3 и 4 следуют 2, несмотря на 5, предшествующих 3 в алфавитном порядке.
Я предполагаю, что это невозможно сделать в SQL. Поэтому вместо этого я хотел бы выбрать вещи (уникально) с ненулевой серией, но я бы хотел выбрать наименее названный. Затем, когда я обрабатываю результаты, я вижу ненулевой рядId и загружаю данные по мере необходимости.
Я использую SQLite.
Я не думаю, что могу использовать группу, потому что все записи с порядковыми номерами, равными нулю, логически уникальны. Может ли это быть сделано в SQL (или то, что ближе всего я могу получить), или это нужно сделать с моей стороны интерфейса?
Я также говорю о семьях, потому что это то, что представляет собой серия, семейство книг.
Oracle имеет CONNECT BY с предложением ORDER SIBLINGS. но подождите: это просто, что вы хотите заказать по SERIES, а затем SERIES_POSITION? – Randy
@ Рэнди запатентовано? –
Не думайте так - вот документ IBM для того же синтаксиса: http://publib.boulder.ibm.com/infocenter/soliddb/v6r3/index.jsp?topic=/com.ibm.swg.im. soliddb.sql.doc/doc/select.level.and.order.siblings.by.example.html – Randy