-Поиск по дневнику

Поиск сообщений в rss_sql_ru_access_programming

 -Подписка по e-mail

 

 -Постоянные читатели

 -Статистика

Статистика LiveInternet.ru: показано количество хитов и посетителей
Создан: 16.03.2006
Записей:
Комментариев:
Написано: 4


SQL - Перекрёстные запросы с выводом по фикс.столбцам и затем их "UNION"

Среда, 25 Октября 2017 г. 10:30 + в цитатник
Добрый день!
Есть таблица, в которую вводятся временные показатели в 10 полей. Каждое поле - это какая-то активность на производственной линии. Например в поле "Работа линии" вводятся 2 записи "00:00" и "02:40", затем в поле "Зачистка линии" вводятся показатели "02:40" и "03:10" и т.д. Таким образом составляется Карта работы линии по смене.
Для визуализации транспонирую таблицу со значениями по смене с разбивкой по фиксированным столбцам. Составляю 10 перекрёстных запросов (в таблице 10 полей с введёнными данными), затем с помошью "Union" свожу их вместе и пускаю в качестве рекордсета на форму. На форме (в формате "Datasheet"), с помощью Условного форматирования, подсвечиваю ячейки, в которых имеются данные. Разбивка интервала для фиксированных столбцов идёт по 10 мин.

Запрос 1 (QryVisualRobLin_Par1_Zmina1):
TRANSFORM Max(TblKartkyVvedZnach.Par1Txt) AS MaxOfPar1Txt
SELECT TblKartkyKatalogZmist.Parametr_1_NazvaTxt
FROM TblKartkyKatalogZmist LEFT JOIN TblKartkyVvedZnach ON TblKartkyKatalogZmist.ID_KartkyKatalogZmist = TblKartkyVvedZnach.FK_KartkyVvedZnach
WHERE (((TblKartkyVvedZnach.FK_KartkyVvedZnach)=1) AND ((TblKartkyVvedZnach.FK_DataWork)=[Forms]![FrmZagalna]![Frm_Glavna].[Form]![ID_DataWork]) AND ((TblKartkyVvedZnach.FK_Kartka)=[Forms]![FrmZagalna]![FrmKartkyKatalogZmistGolovna].[Form]![PerelikLng]))
GROUP BY TblKartkyKatalogZmist.Parametr_1_NazvaTxt
PIVOT TblKartkyVvedZnach.Par1Txt In ('00:00','00:10','00:20','00:30','00:40','00:50','01:00','01:10','01:20','01:30','01:40','01:50','02:00','02:10','02:20','02:30','02:40','02:50','03:00','03:10','03:20','03:30','03:40','03:50','04:00','04:10','04:20','04:30','04:40','04:50','05:00','05:10','05:20','05:30','05:40','05:50','06:00','06:10','06:20','06:30','06:40','06:50','07:00','07:10','07:20','07:30','07:40','07:50','08:00');


Запрос 2 (QryVisualRobLin_Par2_Zmina1):
TRANSFORM Max(TblKartkyVvedZnach.Par2Txt) AS MaxOfPar2Txt
SELECT TblKartkyKatalogZmist.Parametr_2_NazvaTxt
FROM TblKartkyKatalogZmist LEFT JOIN TblKartkyVvedZnach ON TblKartkyKatalogZmist.ID_KartkyKatalogZmist = TblKartkyVvedZnach.FK_KartkyVvedZnach
WHERE (((TblKartkyVvedZnach.FK_KartkyVvedZnach)=1) AND ((TblKartkyVvedZnach.FK_DataWork)=[Forms]![FrmZagalna]![Frm_Glavna].[Form]![ID_DataWork]) AND ((TblKartkyVvedZnach.FK_Kartka)=[Forms]![FrmZagalna]![FrmKartkyKatalogZmistGolovna].[Form]![PerelikLng]))
GROUP BY TblKartkyKatalogZmist.Parametr_2_NazvaTxt
PIVOT TblKartkyVvedZnach.Par2Txt In ('00:00','00:10','00:20','00:30','00:40','00:50','01:00','01:10','01:20','01:30','01:40','01:50','02:00','02:10','02:20','02:30','02:40','02:50','03:00','03:10','03:20','03:30','03:40','03:50','04:00','04:10','04:20','04:30','04:40','04:50','05:00','05:10','05:20','05:30','05:40','05:50','06:00','06:10','06:20','06:30','06:40','06:50','07:00','07:10','07:20','07:30','07:40','07:50','08:00');


... и так 10 запросов.
Затем UNION
select * from QryVisualRobLin_Par1_Zmina1
UNION ALL
select * from QryVisualRobLin_Par2_Zmina1
UNION ALL
select * from QryVisualRobLin_Par3_Zmina1
UNION ALL
select * from QryVisualRobLin_Par4_Zmina1
UNION ALL
select * from QryVisualRobLin_Par5_Zmina1
UNION ALL
select * from QryVisualRobLin_Par6_Zmina1
UNION ALL
select * from QryVisualRobLin_Par7_Zmina1
UNION ALL
select * from QryVisualRobLin_Par8_Zmina1
UNION ALL
select * from QryVisualRobLin_Par9_Zmina1
UNION ALL select * from QryVisualRobLin_Par10_Zmina1;


Уважаемые форумчане,
1) Как можно скрыть те столбцы, где нет ниодного значения?
2) Можно ли введённые значения расположить по фиксированным столбцам в случае, если точно не соответствует столбцу? Например "01:25" надо расположить в столбце "01:30", т.к. разбивка идёт с интервалом в 10 минут

Заранее благодарен!!!

http://www.sql.ru/forum/1275059/sql-perekryostnye-zaprosy-s-vyvodom-po-fiks-stolbcam-i-zatem-ih-union


 

Добавить комментарий:
Текст комментария: смайлики

Проверка орфографии: (найти ошибки)

Прикрепить картинку:

 Переводить URL в ссылку
 Подписаться на комментарии
 Подписать картинку