|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
04.06.2010, 13:28 | #1 |
Форумчанин
Регистрация: 28.10.2008
Сообщений: 350
|
SQL запрос в MYSQL для интервала дат
Добрый день вторые сутки мучаюсь составить следующий запрос.
Есть таблица следующего вида : cId cDate cIdTovat 1 2010-01-01 1 1 2010-01-02 1 1 2010-01-03 2 1 2010-01-04 1 1 2010-01-05 2 Где cDate - это дата на которую будет выставлен товар, cIdTovar - соответственно id- товара Нужно получить результат следующего вида для товара 1: 2010-01-01 по 2010-01-02, 2010-01-04 Подскажите как это можно сделать, очень нужно. |
04.06.2010, 13:53 | #2 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
ничего не утверждаю, но попробуйте такой запрос:
Код:
МОЖЕТЕ НЕ ПРОБОВАТЬ! я проглядел, что Вам даты нужны без пропусков собирать в диапазоны, а даты с пропусками писать через запятую... Я такое только через ХП (или код на клиенте) умею делать.. а в SQL — мне такое сделать слабо... |
04.06.2010, 14:31 | #3 |
Форумчанин
Регистрация: 28.10.2008
Сообщений: 350
|
Я полностью согласен с вами Сергей , что на чистом SQL - запросе не сделать. А как ХП делать в MYSQL понятия не имею.
|
04.06.2010, 20:12 | #4 |
Форумчанин
Регистрация: 28.10.2008
Сообщений: 350
|
А если таблица будет исключительно содержать вот такие последовательности ?
cId cDate cIdTovat 1 2010-01-01 1 2 2010-01-02 1 3 2010-01-04 1 4 2010-01-05 1 |
05.06.2010, 06:45 | #5 | ||
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Цитата:
в любом случае при решении нужно сортировать (или даже отбирать) по товарам, а внутри сортировать по датам... Цитата:
но, судя по всему, это возможно... вот, посмотрите через поиск на Гугле - результаты поиска а Вы клиентскую часть на чём пишете? Может на клиенте подобное решение написать? |
||
05.06.2010, 15:46 | #6 |
Форумчанин
Регистрация: 28.10.2008
Сообщений: 350
|
Да стандрат серверную- PHP, клиент JS (были мысли написать на JS какую то функцию, ну что то меня отталкивает)
|
05.06.2010, 19:16 | #7 |
Форумчанин
Регистрация: 28.10.2008
Сообщений: 350
|
Решение было найдено, возникает проблема с переустановкой ключа
Код:
Собственно код разбивается на две части 1 часть(находим границы максимума) Код:
Код:
Есть какие нибудь предложения по поводу ключей ? И может у кого-то есть мысли по поводу оптимизации кода, самое существенное это как то минимизировать следующий код Код:
1 2010-01-01 1 2 2010-01-02 1 3 2010-01-04 1 4 2010-01-05 1 ИЗ 1 2010-01-01 1 1 2010-01-02 1 1 2010-01-03 2 1 2010-01-04 1 1 2010-01-05 2 Видимо как всегда придётся додумывать всё самому, и делать из невозможного возможное ... эх. Последний раз редактировалось slips; 05.06.2010 в 19:45. Причина: редактирование |
05.06.2010, 21:41 | #8 |
Форумчанин
Регистрация: 28.10.2008
Сообщений: 350
|
Немного упрощённый P.S я его сделаю гибким
Код:
в таблице это в таком виде cId cDate cIdTovat 1 2010-01-01 1 2 2010-01-02 1 3 2010-01-03 1 . ... 10 2010-01-07 1 11 2010-01-08 1 РЕЗУЛЬТАТ ВЫБОРКИ: row_number StartDate EndDate 1 2010-01-01 2010-01-03 2 2010-01-07 2010-01-08 Последний раз редактировалось slips; 06.06.2010 в 01:30. Причина: редактирование |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
SQL запрос для строк! | Milishka | БД в Delphi | 8 | 21.04.2010 13:23 |
НАдо сделать запрос на SQL для MS Access! | Artanis | SQL, базы данных | 9 | 05.11.2009 15:03 |
SQL запрос для поиска в связаных таблицах. | Хитрец | БД в Delphi | 12 | 18.04.2009 14:46 |
Как организовать поиск интервала дат через SQL | Selena | Общие вопросы Delphi | 1 | 14.03.2007 01:25 |
SOL-запрос интервала даты и времени в Delphi | DENIS_ | БД в Delphi | 5 | 23.12.2006 12:55 |