powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Вложеный list()
7 сообщений из 7, страница 1 из 1
Вложеный list()
    #33037113
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ASA 9+
Есть табличка типа
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
StartDate   DayOfWeek  StartTime
2005-01-01    Sun         05:00
2005-01-01    Sun         08:00
2005-01-01    Mon         07:00
2005-01-01    Mon         13:00
2005-01-02    Sun         08:00
2005-01-02    Fri         06:00
2005-01-02    Fri         14:00

Хочется:
Код: plaintext
1.
2.
3.
4.
5.
StartDate    Times
2005-01-01  Sun: 05:00, 08:00
            Mon: 07:00, 13:00
2005-01-02  Sun: 08:00
            Fri: 06:00, 14:00

Как это сделать одним селектом? Чую что можно, только не получается :)
...
Рейтинг: 0 / 0
Вложеный list()
    #33037182
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
BEGIN
  DECLARE LOCAL TEMPORARY TABLE #Test (
    StartDate date NOT NULL,
    DayOfWeek char( 3 ) NOT NULL,
    NumDayOfWeek tinyint NOT NULL,
    StartTime char( 5 ) NOT NULL,
    PRIMARY KEY (StartDate, DayOfWeek, StartTime)
  ) NOT TRANSACTIONAL;

  INSERT INTO #Test
    SELECT '2005-01-01', 'Sun',  1 , '05:00'
    UNION ALL
    SELECT '2005-01-01', 'Sun',  1 , '08:00'
    UNION ALL
    SELECT '2005-01-01', 'Mon',  2 , '07:00'
    UNION ALL
    SELECT '2005-01-01', 'Mon',  2 , '13:00'
    UNION ALL
    SELECT '2005-01-02', 'Sun',  2 , '08:00'
    UNION ALL
    SELECT '2005-01-02', 'Fri',  6 , '06:00'
    UNION ALL
    SELECT '2005-01-02', 'Fri',  6 , '14:00';

  SELECT StartDate, List(DayOfWeek || ': ' || ListTime, '\n' ORDER BY NumDayOfWeek) AS Str
  FROM (
    SELECT StartDate, DayOfWeek, NumDayOfWeek, List(StartTime, ',' ORDER BY StartTime) AS ListTime
    FROM #Test
    GROUP BY StartDate, DayOfWeek, NumDayOfWeek
  ) AS x
  GROUP BY StartDate
  ORDER BY StartDate;
END;
StartDateStr'2005-01-01''Sun: 05:00,08:00\x0aMon: 07:00,13:00''2005-01-02''Sun: 08:00\x0aFri: 06:00,14:00'
В поле Str естественно управляющий символ "\x0a" означает перевод каретки для текстового поля. Поле NumDayOfWeek я ввел для сортировки по дню недели, так как по текстовому полю сортировка была бы неправильной.
...
Рейтинг: 0 / 0
Вложеный list()
    #33037216
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ой спасибо :)
Это я пообедать забыл, потому и торможу сегодня :)
...
Рейтинг: 0 / 0
Вложеный list()
    #33037217
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White OwlОй спасибо :)
Это я пообедать забыл, потому и торможу сегодня :)
Пообедать ? Гм, а я вот на время смотрю - 00:30 и подумываю спать пойти :)
...
Рейтинг: 0 / 0
Вложеный list()
    #33037221
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ASCRUS White OwlОй спасибо :)
Это я пообедать забыл, потому и торможу сегодня :)
Пообедать ? Гм, а я вот на время смотрю - 00:30 и подумываю спать пойти :)
Ты забыл, что я в другом часовом поясе. В очень другом :)
...
Рейтинг: 0 / 0
Вложеный list()
    #33037224
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White Owl ASCRUS White OwlОй спасибо :)
Это я пообедать забыл, потому и торможу сегодня :)
Пообедать ? Гм, а я вот на время смотрю - 00:30 и подумываю спать пойти :)
Ты забыл, что я в другом часовом поясе. В очень другом :)
Ну встречаемся же. Значит не в очень и другом :) Ладно, я все таки спать, удачно победить вложенные листы (кстати для сортировки все таки насчет поля или выч. выражения NumDayOfWeek подумай) :)
...
Рейтинг: 0 / 0
Вложеный list()
    #33037445
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White OwlТы забыл, что я в другом часовом поясе. В очень другом :)
Это в каком же ? Я просто прикидываю, есть ли у нас время, когда форум немодерируется.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Вложеный list()
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]