|
|
|
Добавление в запрос отсутствующих в таблице данных
|
|||
|---|---|---|---|
|
#18+
Есть таблица: id date shows sales 10113 2015-12-08 4 0 10113 2015-12-09 5 0 Сейчас я делаю вот так: SELECT id,date AS dta,shows,sales, DAYNAME( DATE ) AS dayna FROM `s_stat` WHERE id = 10113 AND DATE(date) BETWEEN '2015-12-01' AND '2015-12-09'"; Вывод вот такой: 10098 2015-12-09 1 0 Среда 10098 2015-12-10 1 0 Четверг 10098 2015-12-14 1 0 Понедельник 10098 2015-12-16 11 0 Среда Потом эти данные выгружаются в XLS Нужно сделать так, чтобы учитывались все даты, начиная с 2015-12-01, т.е. вот так: 10098 2015-12-01 0 0 Вторник 10098 2015-12-02 0 0 Среда etc Можно ли это сделать средствами SQL? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2015, 13:03:02 |
|
||
|
Добавление в запрос отсутствующих в таблице данных
|
|||
|---|---|---|---|
|
#18+
Да. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2015, 13:09:04 |
|
||
|
Добавление в запрос отсутствующих в таблице данных
|
|||
|---|---|---|---|
|
#18+
А как, можете подсказать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2015, 13:10:49 |
|
||
|
Добавление в запрос отсутствующих в таблице данных
|
|||
|---|---|---|---|
|
#18+
Разобрать пример, попробовать вот это: select a.Date from ( select curdate() - INTERVAL (a.a + (10 * b.a) + (100 * c.a)) DAY as Date from (select 0 as a union all select 1 union all select 2 union all select 3 union all select 4 union all select 5 union all select 6 union all select 7 union all select 8 union all select 9) as a cross join (select 0 as a union all select 1 union all select 2 union all select 3 union all select 4 union all select 5 union all select 6 union all select 7 union all select 8 union all select 9) as b cross join (select 0 as a union all select 1 union all select 2 union all select 3 union all select 4 union all select 5 union all select 6 union all select 7 union all select 8 union all select 9) as c ) a where a.Date between '2010-01-20' and '2010-01-24' ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2015, 13:18:58 |
|
||
|
Добавление в запрос отсутствующих в таблице данных
|
|||
|---|---|---|---|
|
#18+
Какие то вы тут снобы, ну ладно расскажу как сделать: - делаем отдельную таблицу со всеми днями - далее LEFT JOIN и все. Заменяем NULL на 0 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2015, 14:19:38 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=39130831&tid=1832363]: |
0ms |
get settings: |
7ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
433ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
29ms |
get tp. blocked users: |
1ms |
| others: | 201ms |
| total: | 698ms |

| 0 / 0 |
