Гость
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Еще про сводную таблицу / 7 сообщений из 7, страница 1 из 1
16.05.2019, 08:40
    #39813837
МавДи
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Еще про сводную таблицу
Есть три таблицы:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
т1:
хлор
вода

т2:
цех1
цех2

т3:
1 цех1 хлор 10  '2019-5-10'
2 цех1 хлор 12	'2019-5-11'
3 цех2 вода 15	'2019-5-10'
4 цех2 вода 17	'2019-5-12'



нужно получить результат:

Код: sql
1.
2.
3.
4.
5.
6.
т4:

1 цех1	хлор	10 '2019-5-11'
0 цех1	вода	0	-
0 цех2	хлор	0	-
4 цех2	вода	17 '2019-5-12'



возможно ли это и как?
...
Рейтинг: 0 / 0
16.05.2019, 08:50
    #39813841
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Еще про сводную таблицу
FAQ: Выборка первой/последней записи в группах

Но если сервер - версии 8+, то всё гораздо проще.
...
Рейтинг: 0 / 0
16.05.2019, 08:59
    #39813845
МавДи
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Еще про сводную таблицу
Akina, версия субд не принципиальна, напишите для 8-ки, пож-та
...
Рейтинг: 0 / 0
16.05.2019, 09:59
    #39813883
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Еще про сводную таблицу
Объясните, почему для 1-го цеха Вы берёте раннее значение, а для 2-го - позднее.
...
Рейтинг: 0 / 0
16.05.2019, 10:00
    #39813885
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Еще про сводную таблицу
А так - смотрите в сторону
Код: sql
1.
FIRST_VALUE(value) OVER (PARTITION BY цех ORDER BY data DESC)
...
Рейтинг: 0 / 0
16.05.2019, 10:19
    #39813896
МавДи
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Еще про сводную таблицу
Akina,
это моя ошибка, сообщения не редактируются(
...
Рейтинг: 0 / 0
16.05.2019, 10:47
    #39813914
МавДи
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Еще про сводную таблицу
последний вариант работающего запроса, вроде работает
Код: sql
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.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
SELECT
st.location,
st.component,
bt.*
 FROM
tbl_log bt
RIGHT JOIN
(SELECT
    t1.loc_id id_location,
    t2.com_id id_comp,
    t1.loc_name location,
    t2.com_name component,
    MAX(t3.log_id) id,
    COALESCE(MAX(t3.log_datetime), 0) dtime
FROM
(( tbl_locations t1,
       tbl_components t2 )
LEFT JOIN
tbl_log t3
    ON
     t1.loc_id = t3.log_loc_id
   AND
    t2.com_id = t3.log_com_id
    AND
--     t3.log_datetime<'2019-05-10 11:37:52')
    t3.log_datetime<now())
    LEFT JOIN
    (SELECT
    t4.log_id id,
    t4.log_value val,
    t4.log_datetime dt
    FROM
    tbl_log t4) t5
    ON
    t5.id = t3.log_id
GROUP BY
 t1.loc_id,
 t2.com_id) st
 ON
 st.id=bt.log_id
ORDER BY
location,
component
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Еще про сводную таблицу / 7 сообщений из 7, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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