|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
24.08.2009, 10:54 | #1 |
Пользователь
Регистрация: 13.08.2009
Сообщений: 19
|
Из одной колонки сделать две
Есть табличка:
date value1 2009-08-01 | 1 2009-08-02 | 2 2009-08-03 | 3 2009-08-04 | 4 2009-08-05 | 5 Нужно чтобы запрос выдавал: date value1 value2 2009-08-02 | 1 | 2 2009-08-03 | 2 | 3 2009-08-04 | 3 | 4 2009-08-05 | 4 | 5 А если для каких-то дат значение - NULL, то должен ставтиь последнее не-NULL значение: date value1 value2 2009-08-02 | 1 | 2 2009-08-03 | 2 | 3 2009-08-04 | 3 | 4 2009-08-05 | 4 | 5 2009-08-06 |NULL| 5 2009-08-07 |NULL| 5 2009-08-08 | 5 | 8 Последний раз редактировалось acidcool; 24.08.2009 в 11:11. |
24.08.2009, 12:40 | #2 |
SQL-коддинг
Участник клуба
Регистрация: 16.01.2009
Сообщений: 1,192
|
ну и традиционный встречный вопрос - какая субд? версия?
|
24.08.2009, 12:47 | #3 |
Пользователь
Регистрация: 13.08.2009
Сообщений: 19
|
Виноват... MySQL Server 5.0
|
24.08.2009, 13:31 | #4 |
SQL-коддинг
Участник клуба
Регистрация: 16.01.2009
Сообщений: 1,192
|
а в нем есть функи по типу row_number() или rownum?
чтобы можно было вывести порядковые номера каждой из строк? если нет, то только через ХП на этом ресурсе полистал доку и там где-то в примерах есть упоминание rec_id, но не факт что это то что нужно (может это просто пример квазитаблицы и квазиполя этой таблицы...) но чота с последним пунктом, про нулловые значения, озадачили такая фишка прокатит только если у вас доступны оконные функции типа lead() over() но остается еще вопрос, какое значение писать во вторую колонку если будет случай когда данные с определенного места и до конца отсортированного набора имеют NULL? т.е. для вашего примера для числа 2009-08-08 value1 = NULL З.Ы.: кстати, приветствуются и другие мнения, особенно мускул-истов может я не знаю каких фишек, которые они там наприкручивали!? Последний раз редактировалось soleil@mmc; 24.08.2009 в 14:15. |
24.08.2009, 14:48 | #5 |
C++ hater
СтарожилДжуниор
Регистрация: 19.07.2009
Сообщений: 3,333
|
в db2 (не знаю, как в микрософтском) можно использовать подзапросы в списке выборки, типо
Код:
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay
My other car is cdr. Q: Whats the object-oriented way to become wealthy? A: Inheritance |
24.08.2009, 15:08 | #6 | |
SQL-коддинг
Участник клуба
Регистрация: 16.01.2009
Сообщений: 1,192
|
Цитата:
а в общем случае, данные точно другие и их очень много прикинул тут вариант с подзапросом получается так Код:
Последний раз редактировалось soleil@mmc; 24.08.2009 в 15:22. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
ListView добавление текста в две колонки | Shouldercannon | Общие вопросы Delphi | 3 | 02.04.2010 21:18 |
Сделать одной формулой! | ZORRO2005 | Microsoft Office Excel | 3 | 30.06.2009 11:30 |
Блоки div вместо td, как сделать две колонки одинаковой высоты? | v.victoria12345 | HTML и CSS | 0 | 06.05.2009 18:05 |
Как сумму из одной ячейки разделить на две именных? | Сан Саныч | Microsoft Office Excel | 14 | 20.12.2008 09:44 |
Как разделить число и текст в одной ячейки на две ячейки. | neboskreb | Microsoft Office Excel | 2 | 15.04.2008 19:39 |