#mysql #sorting #join #union
#mysql #сортировка #Присоединиться #объединение
Вопрос:
У меня большая проблема. Мне нужно объединить три таблицы и отсортировать данные по столбцу даты. Я пробовал подвыборки, объединения и объединения — безуспешно.
portal_gm_provide
это таблица, в которой хранится глобальный wms_id.portal_gm_log
это таблица, в которой хранится вся информация о протоколировании (info, предупреждение, ошибка).portal_gm_cron
это таблица, в которой хранится информация cronjob (успех или ошибка).
Проблема в том, что эти три таблицы не имеют одинаковой структуры и одинакового поля даты. Могу ли я объединить и упорядочить данные так, чтобы все подходящие данные располагались в строке, а ненужные поля были равны НУЛЮ, как при соединении ВЛЕВО / ВПРАВО?
ВЫБЕРИТЕ db_main.wms_id КАК id_wms, db_log.message, db_log.message_real, db_log.id_layer, db_log.code, db_log.subcode, db_log.counter, db_log.time_first, db_log.time_last, db_cron.ошибка, db_cron.errorno, СЛУЧАЙ КОГДА db_log.time_first РАВЕН НУЛЮ, ТОГДА db_cron.time ELSE NULL # db_log.time_first ЗАКАНЧИВАЕТСЯ КАК время ИЗ portal_gm_provide КАК db_main ПРАВОЕ ОБЪЕДИНЕНИЕ portal_gm_log КАК db_log В db_log.id_wms = db_main.wms_id ПРАВОЕ ОБЪЕДИНЕНИЕ portal_gm_cron КАК db_cron В db_cron.id_wms = db_main.wms_id ГДЕ db_main.user_id = 1 ПОРЯДОК По времени DESC ОГРАНИЧЕНИЕ 50
СОЗДАЙТЕ ТАБЛИЦУ, ЕСЛИ НЕ СУЩЕСТВУЕТ `portal_gm_provide` ( `id` int(10) беззнаковое НЕ НУЛЕВОЕ АВТО_ИНКРЕМЕНТНОЕ увеличение, `user_id` int(10) без знака NOT NULL ПО УМОЛЧАНИЮ '0', `wms_id` int(10) без знака NOT NULL ПО УМОЛЧАНИЮ '0', Параметр `mail_notify` (100) ПО УМОЛЧАНИЮ РАВЕН НУЛЮ, Параметр `mail_period`(100) ПО УМОЛЧАНИЮ РАВЕН НУЛЮ, `time` datetime НЕ РАВНО НУЛЮ, `time_cron` datetime ПО УМОЛЧАНИЮ NULL, ПЕРВИЧНЫЙ КЛЮЧ (`id`) ) КОДИРОВКА по умолчанию ENGINE= MyISAM = utf8; СОЗДАЙТЕ ТАБЛИЦУ, ЕСЛИ НЕ СУЩЕСТВУЕТ `portal_gm_log` ( `id` int(10) беззнаковое НЕ НУЛЕВОЕ АВТО_ИНКРЕМЕНТНОЕ увеличение, `code` int(10) без знака NOT NULL ПО УМОЛЧАНИЮ '0', `subcode` int(10) по УМОЛЧАНИЮ без знака '0', `id_wms` int (10) по УМОЛЧАНИЮ без знака '0', `id_layer` int(10) по УМОЛЧАНИЮ без знака '0', `message` mediumtext, `message_real` mediumtext, `counter` int(10) без знака NOT NULL ПО УМОЛЧАНИЮ '1', `time_first` datetime НЕ равен НУЛЮ, `time_last` datetime ПО УМОЛЧАНИЮ NULL, ПЕРВИЧНЫЙ КЛЮЧ (`id`), КЛЮЧ `id_wms` (`id_wms`), КЛЮЧ `id_layer` (`id_layer`) ) КОДИРОВКА по умолчанию ENGINE= MyISAM = utf8; СОЗДАЙТЕ ТАБЛИЦУ, ЕСЛИ НЕ СУЩЕСТВУЕТ `portal_gm_cron` ( `id` bigint(20) беззнаковое НЕ НУЛЕВОЕ АВТО_ИНКРЕМЕНТНОЕ увеличение, `id_wms` int (10) по УМОЛЧАНИЮ без знака '0', `ошибка` varchar(250) Значение по УМОЛЧАНИЮ NULL, `errorno` int (10) по УМОЛЧАНИЮ без знака '0', `flag` int(10) по УМОЛЧАНИЮ без знака '0', `time` datetime ПО УМОЛЧАНИЮ NULL, ПЕРВИЧНЫЙ КЛЮЧ (`id`), КЛЮЧ `GM_ID` (`id_wms`), КЛЮЧ `DATUM` (`время`) ) КОДИРОВКА ПО УМОЛЧАНИЮ ENGINE= InnoDB = utf8; ВСТАВИТЬ В `portal_gm_provide` (`id`, `user_id`, `wms_id`, `mail_notify`, `mail_period`, `time`, `time_cron`) ЗНАЧЕНИЯ (1, 1, 2, 'MOD_GEOMONITOR_PROVIDE_NOTIFY_STATE_WARNINGERROR', 'MOD_GEOMONITOR_PROVIDE_NOTIFY_PERIOD_3H', '2011-04-21 10:35:36', '2011-05-13 10:10:02'), (2, 1, 1389, 'MOD_GEOMONITOR_PROVIDE_NOTIFY_STATE_WARNINGERRORIN', 'MOD_GEOMONITOR_PROVIDE_NOTIFY_PERIOD_ IMMEDIATELY', '2011-05-02 13:42:02', '2011-05-13 11:34:01'), (3, 1, 415, 'MOD_GEOMONITOR_PROVIDE_NOTIFY_STATE_WARNINGERRORIN', 'MOD_GEOMONITOR_PROVIDE_NOTIFY_PERIOD_ IMMEDIATELY', '2011-05-02 13:42:02', '2011-05-13 11:53:01'); ВСТАВИТЬ В `portal_gm_log` (`id`, `code`, `subcode`, `id_wms`, `id_layer`, `message`, `message_real`, `counter`, `time_first`, `time_last`) ЗНАЧЕНИЯ (578, 8192, 0, 415, 5975, ' Допустимый SRS не найден. Возможно, нет соответствующего поля привязки. Значение по умолчанию EPSG:4326.', NULL, 90, '2010-10-21 20:19:42', '2010-10-27 13:42:52'); ВСТАВИТЬ В `portal_gm_log` (`id`, `code`, `subcode`, `id_wms`, `id_layer`, `message`, `message_real`, `counter`, `time_first`, `time_last`) ЗНАЧЕНИЯ (3984, 8192, 0, 415, 5975, ' Не найдено допустимого поля для данного SRS. Возможно, нет соответствующего поля привязки. Значение по умолчанию EPSG:4326.', NULL, 483, '2010-10-27 15:16:05', '2010-12-02 08:18:19'); ВСТАВИТЬ В `portal_gm_log` (`id`, `code`, `subcode`, `id_wms`, `id_layer`, `message`, `message_real`, `counter`, `time_first`, `time_last`) ЗНАЧЕНИЯ (7800, 4352, 0, 415, 0, 'www.umweltkarten.mv-regierung.de ', 'сбой каждого предоставленного сервера имен: Успех', 3, '2010-11-26 00:37:05', '2010-11-29 21:34:27'); ВСТАВИТЬ В `portal_gm_log` (`id`, `code`, `subcode`, `id_wms`, `id_layer`, `message`, `message_real`, `counter`, `time_first`, `time_last`) ЗНАЧЕНИЯ (14471, 12288, 0, 1389, 19219, ", NULL, 95, '2011-05-02 14:24:01', '2011-05-13 10:40:51'); ВСТАВЬТЕ В `portal_gm_cron` (`id`, `id_wms`, `error`, `errorno`, `flag`, `time`) ЗНАЧЕНИЯ (2530349, 415, 'Ошибка при загрузке XML-файла. (Не найдено, код: 404)', 256, 5, '2011-05-06 00:00:27'); ВСТАВЬТЕ В `portal_gm_cron` (`id`, `id_wms`, `error`, `errorno`, `flag`, `time`) ЗНАЧЕНИЯ (2531615, 415, 'Ошибка при загрузке XML-файла. (Не найдено, код: 404)', 256, 5, '2011-05-06 02:48:49'); ВСТАВЬТЕ В `portal_gm_cron` (`id`, `id_wms`, `error`, `errorno`, `flag`, `time`) ЗНАЧЕНИЯ (2532882, 415, 'Ошибка при загрузке XML-файла. (Не найдено, код: 404)', 256, 5, '2011-05-06 05:36:05'); ВСТАВЬТЕ В `portal_gm_cron` (`id`, `id_wms`, `error`, `errorno`, `flag`, `time`) ЗНАЧЕНИЯ (2534150, 415, 'Ошибка при загрузке XML-файла. (Не найдено, код: 404)', 256, 5, '2011-05-06 08:16:10'); ВСТАВЬТЕ В `portal_gm_cron` (`id`, `id_wms`, `error`, `errorno`, `flag`, `time`) ЗНАЧЕНИЯ (2535418, 415, 'Ошибка при загрузке XML-файла. (Не найдено, код: 404)', 256, 5, '2011-05-06 11:04:05'); ВСТАВЬТЕ В `portal_gm_cron` (`id`, `id_wms`, `error`, `errorno`, `flag`, `time`) ЗНАЧЕНИЯ (2536684, 415, 'Ошибка при загрузке XML-файла. (Не найдено, код: 404)', 256, 5, '2011-05-06 13:56:07'); ВСТАВЬТЕ В `portal_gm_cron` (`id`, `id_wms`, `error`, `errorno`, `flag`, `time`) ЗНАЧЕНИЯ (2537951, 415, 'Ошибка при загрузке XML-файла. (Не найдено, код: 404)', 256, 5, '2011-05-06 16:44:20'); ВСТАВЬТЕ В `portal_gm_cron` (`id`, `id_wms`, `error`, `errorno`, `flag`, `time`) ЗНАЧЕНИЯ (2539219, 415, 'Ошибка при загрузке XML-файла. (Не найдено, код: 404)', 256, 5, '2011-05-06 19:24:07'); ВСТАВЬТЕ В `portal_gm_cron` (`id`, `id_wms`, `error`, `errorno`, `flag`, `time`) ЗНАЧЕНИЯ (2540489, 415, 'Ошибка при загрузке XML-файла. (Не найдено, код: 404)', 256, 5, '2011-05-06 21:56:04'); ВСТАВЬТЕ В `portal_gm_cron` (`id`, `id_wms`, `error`, `errorno`, `flag`, `time`) ЗНАЧЕНИЯ (2541758, 415, 'Ошибка при загрузке XML-файла. (Не найдено, код: 404)', 256, 5, '2011-05-07 00:40:04'); ВСТАВЬТЕ В `portal_gm_cron` (`id`, `id_wms`, `error`, `errorno`, `flag`, `time`) ЗНАЧЕНИЯ (2543027, 415, 'Ошибка при загрузке XML-файла. (Не найдено, код: 404)', 256, 5, '2011-05-07 03:24:01'); ВСТАВЬТЕ В `portal_gm_cron` (`id`, `id_wms`, `error`, `errorno`, `flag`, `time`) ЗНАЧЕНИЯ (2544298, 415, 'Ошибка при загрузке XML-файла. (Не найдено, код: 404)', 256, 5, '2011-05-07 06:00:07'); ВСТАВЬТЕ В `portal_gm_cron` (`id`, `id_wms`, `error`, `errorno`, `flag`, `time`) ЗНАЧЕНИЯ (2545566, 415, 'Ошибка при загрузке XML-файла. (Не найдено, код: 404)', 256, 5, '2011-05-07 08:48:05'); ВСТАВЬТЕ В `portal_gm_cron` (`id`, `id_wms`, `error`, `errorno`, `flag`, `time`) ЗНАЧЕНИЯ (2546836, 415, 'Ошибка при загрузке XML-файла. (Не найдено, код: 404)', 256, 5, '2011-05-07 11:24:19'); ВСТАВЬТЕ В `portal_gm_cron` (`id`, `id_wms`, `error`, `errorno`, `flag`, `time`) ЗНАЧЕНИЯ (2548106, 415, 'Ошибка при загрузке XML-файла. (Не найдено, код: 404)', 256, 5, '2011-05-07 14:00:09'); ВСТАВЬТЕ В `portal_gm_cron` (`id`, `id_wms`, `error`, `errorno`, `flag`, `time`) ЗНАЧЕНИЯ (2549374, 415, 'Ошибка при загрузке XML-файла. (Не найдено, код: 404)', 256, 5, '2011-05-07 16:44:04'); ВСТАВЬТЕ В `portal_gm_cron` (`id`, `id_wms`, `error`, `errorno`, `flag`, `time`) ЗНАЧЕНИЯ (2550643, 415, 'Ошибка при загрузке XML-файла. (Не найдено, код: 404)', 256, 5, '2011-05-07 19:24:01'); ВСТАВЬТЕ В `portal_gm_cron` (`id`, `id_wms`, `error`, `errorno`, `flag`, `time`) ЗНАЧЕНИЯ (2551912, 415, 'Ошибка при загрузке XML-файла. (Не найдено, код: 404)', 256, 5, '2011-05-07 22:04:02'); ВСТАВЬТЕ В `portal_gm_cron` (`id`, `id_wms`, `error`, `errorno`, `flag`, `time`) ЗНАЧЕНИЯ (2553181, 415, 'Ошибка при загрузке XML-файла. (Не найдено, код: 404)', 256, 5, '2011-05-08 00:44:04'); ВСТАВЬТЕ В `portal_gm_cron` (`id`, `id_wms`, `error`, `errorno`, `flag`, `time`) ЗНАЧЕНИЯ (2554451, 415, 'Ошибка при загрузке XML-файла. (Не найдено, код: 404)', 256, 5, '2011-05-08 03:20:10'); ВСТАВЬТЕ В `portal_gm_cron` (`id`, `id_wms`, `error`, `errorno`, `flag`, `time`) ЗНАЧЕНИЯ (2555719, 415, 'Ошибка при загрузке XML-файла. (Не найдено, код: 404)', 256, 5, '2011-05-08 06:04:05'); ВСТАВЬТЕ В `portal_gm_cron` (`id`, `id_wms`, `error`, `errorno`, `flag`, `time`) ЗНАЧЕНИЯ (2556987, 415, 'Ошибка при загрузке XML-файла. (Не найдено, код: 404)', 256, 5, '2011-05-08 08:48:05'); ВСТАВЬТЕ В `portal_gm_cron` (`id`, `id_wms`, `error`, `errorno`, `flag`, `time`) ЗНАЧЕНИЯ (2558256, 415, 'Ошибка при загрузке XML-файла. (Не найдено, код: 404)', 256, 5, '2011-05-08 11:28:06'); ВСТАВЬТЕ В `portal_gm_cron` (`id`, `id_wms`, `error`, `errorno`, `flag`, `time`) ЗНАЧЕНИЯ (2559523, 415, 'Ошибка при загрузке XML-файла. (Не найдено, код: 404)', 256, 5, '2011-05-08 14:20:04'); ВСТАВЬТЕ В `portal_gm_cron` (`id`, `id_wms`, `error`, `errorno`, `flag`, `time`) ЗНАЧЕНИЯ (2560791, 415, 'Ошибка при загрузке XML-файла. (Не найдено, код: 404)', 256, 5, '2011-05-08 17:08:04'); ВСТАВЬТЕ В `portal_gm_cron` (`id`, `id_wms`, `error`, `errorno`, `flag`, `time`) ЗНАЧЕНИЯ (2562060, 415, 'Ошибка при загрузке XML-файла. (Не найдено, код: 404)', 256, 5, '2011-05-08 19:48:05'); ВСТАВЬТЕ В `portal_gm_cron` (`id`, `id_wms`, `error`, `errorno`, `flag`, `time`) ЗНАЧЕНИЯ (2563328, 415, 'Ошибка при загрузке XML-файла. (Не найдено, код: 404)', 256, 5, '2011-05-08 22:28:02'); ВСТАВЬТЕ В `portal_gm_cron` (`id`, `id_wms`, `error`, `errorno`, `flag`, `time`) ЗНАЧЕНИЯ (2564598, 415, 'Ошибка при загрузке XML-файла. (Не найдено, код: 404)', 256, 5, '2011-05-09 01:04:39'); ВСТАВИТЬ В `portal_gm_cron` (`id`, `id_wms`, `error`, `errorno`, `flag`, `time`) ЗНАЧЕНИЯ (2531247, 1389, NULL, 0, 5, '2011-05-06 01:36:55'); ВСТАВИТЬ В `portal_gm_cron` (`id`, `id_wms`, `error`, `errorno`, `flag`, `time`) ЗНАЧЕНИЯ (2532514, 1389, NULL, 0, 5, '2011-05-06 04:24:25'); ВСТАВИТЬ В `portal_gm_cron` (`id`, `id_wms`, `error`, `errorno`, `flag`, `time`) ЗНАЧЕНИЯ (2533782, 1389, NULL, 0, 5, '2011-05-06 07:04:47'); ВСТАВИТЬ В `portal_gm_cron` (`id`, `id_wms`, `error`, `errorno`, `flag`, `time`) ЗНАЧЕНИЯ (2535050, 1389, NULL, 0, 5, '2011-05-06 09:48:36'); ВСТАВИТЬ В `portal_gm_cron` (`id`, `id_wms`, `error`, `errorno`, `flag`, `time`) ЗНАЧЕНИЯ (2536316, 1389, NULL, 0, 5, '2011-05-06 12:44:14'); ВСТАВИТЬ В `portal_gm_cron` (`id`, `id_wms`, `error`, `errorno`, `flag`, `time`) ЗНАЧЕНИЯ (2537582, 1389, NULL, 0, 5, '2011-05-06 15:36:12'); ВСТАВИТЬ В `portal_gm_cron` (`id`, `id_wms`, `error`, `errorno`, `flag`, `time`) ЗНАЧЕНИЯ (2538850, 1389, NULL, 0, 5, '2011-05-06 18:16:10'); ВСТАВИТЬ В `portal_gm_cron` (`id`, `id_wms`, `error`, `errorno`, `flag`, `time`) ЗНАЧЕНИЯ (2541389, 1389, NULL, 0, 5, '2011-05-06 23:28:48'); ВСТАВИТЬ В `portal_gm_cron` (`id`, `id_wms`, `error`, `errorno`, `flag`, `time`) ЗНАЧЕНИЯ (2542660, 1389, NULL, 0, 5, '2011-05-07 02:04:43'); ВСТАВИТЬ В `portal_gm_cron` (`id`, `id_wms`, `error`, `errorno`, `flag`, `time`) ЗНАЧЕНИЯ (2543929, 1389, NULL, 0, 5, '2011-05-07 04:48:38'); ВСТАВИТЬ В `portal_gm_cron` (`id`, `id_wms`, `error`, `errorno`, `flag`, `time`) ЗНАЧЕНИЯ (2545198, 1389, NULL, 0, 5, '2011-05-07 07:32:29'); ВСТАВИТЬ В `portal_gm_cron` (`id`, `id_wms`, `error`, `errorno`, `flag`, `time`) ЗНАЧЕНИЯ (2546468, 1389, NULL, 0, 5, '2011-05-07 10:12:55'); ВСТАВИТЬ В `portal_gm_cron` (`id`, `id_wms`, `error`, `errorno`, `flag`, `time`) ЗНАЧЕНИЯ (2547737, 1389, NULL, 0, 5, '2011-05-07 12:52:45'); ВСТАВИТЬ В `portal_gm_cron` (`id`, `id_wms`, `error`, `errorno`, `flag`, `time`) ЗНАЧЕНИЯ (2549006, 1389, NULL, 0, 5, '2011-05-07 15:32:34'); ВСТАВИТЬ В `portal_gm_cron` (`id`, `id_wms`, `error`, `errorno`, `flag`, `time`) ЗНАЧЕНИЯ (2550275, 1389, NULL, 0, 5, '2011-05-07 18:08:02'); ВСТАВИТЬ В `portal_gm_cron` (`id`, `id_wms`, `error`, `errorno`, `flag`, `time`) ЗНАЧЕНИЯ (2551545, 1389, NULL, 0, 5, '2011-05-07 20:48:32'); ВСТАВИТЬ В `portal_gm_cron` (`id`, `id_wms`, `error`, `errorno`, `flag`, `time`) ЗНАЧЕНИЯ (2552813, 1389, NULL, 0, 5, '2011-05-07 23:32:46'); ВСТАВИТЬ В `portal_gm_cron` (`id`, `id_wms`, `error`, `errorno`, `flag`, `time`) ЗНАЧЕНИЯ (2554083, 1389, NULL, 0, 5, '2011-05-08 02:08:56'); ВСТАВИТЬ В `portal_gm_cron` (`id`, `id_wms`, `error`, `errorno`, `flag`, `time`) ЗНАЧЕНИЯ (2555351, 1389, NULL, 0, 5, '2011-05-08 04:52:26'); ВСТАВИТЬ В `portal_gm_cron` (`id`, `id_wms`, `error`, `errorno`, `flag`, `time`) ЗНАЧЕНИЯ (2556621, 1389, NULL, 0, 5, '2011-05-08 07:28:48'); ВСТАВИТЬ В `portal_gm_cron` (`id`, `id_wms`, `error`, `errorno`, `flag`, `time`) ЗНАЧЕНИЯ (2557888, 1389, NULL, 0, 5, '2011-05-08 10:16:33'); ВСТАВИТЬ В `portal_gm_cron` (`id`, `id_wms`, `error`, `errorno`, `flag`, `time`) ЗНАЧЕНИЯ (2559156, 1389, NULL, 0, 5, '2011-05-08 13:00:21'); ВСТАВИТЬ В `portal_gm_cron` (`id`, `id_wms`, `error`, `errorno`, `flag`, `time`) ЗНАЧЕНИЯ (2560423, 1389, NULL, 0, 5, '2011-05-08 15:52:43'); ВСТАВИТЬ В `portal_gm_cron` (`id`, `id_wms`, `error`, `errorno`, `flag`, `time`) ЗНАЧЕНИЯ (2561692, 1389, NULL, 0, 5, '2011-05-08 18:36:16'); ВСТАВИТЬ В `portal_gm_cron` (`id`, `id_wms`, `error`, `errorno`, `flag`, `time`) ЗНАЧЕНИЯ (2562960, 1389, NULL, 0, 5, '2011-05-08 21:16:01'); ВСТАВИТЬ В `portal_gm_cron` (`id`, `id_wms`, `error`, `errorno`, `flag`, `time`) ЗНАЧЕНИЯ (2564229, 1389, NULL, 0, 5, '2011-05-08 23:56:02'); ВСТАВИТЬ В `portal_gm_cron` (`id`, `id_wms`, `error`, `errorno`, `flag`, `time`) ЗНАЧЕНИЯ (2565498, 1389, NULL, 0, 5, '2011-05-09 02:32:19'); ВСТАВИТЬ В `portal_gm_cron` (`id`, `id_wms`, `error`, `errorno`, `flag`, `time`) ЗНАЧЕНИЯ (2566768, 1389, NULL, 0, 5, '2011-05-09 05:08:43'); ВСТАВИТЬ В `portal_gm_cron` (`id`, `id_wms`, `error`, `errorno`, `flag`, `time`) ЗНАЧЕНИЯ (2568037, 1389, NULL, 0, 5, '2011-05-09 07:48:32'); ВСТАВИТЬ В `portal_gm_cron` (`id`, `id_wms`, `error`, `errorno`, `flag`, `time`) ЗНАЧЕНИЯ (2569304, 1389, NULL, 0, 5, '2011-05-09 10:40:46'); ВСТАВИТЬ В `portal_gm_cron` (`id`, `id_wms`, `error`, `errorno`, `flag`, `time`) ЗНАЧЕНИЯ (2570571, 1389, NULL, 0, 5, '2011-05-09 13:28:45'); ВСТАВИТЬ В `portal_gm_cron` (`id`, `id_wms`, `error`, `errorno`, `flag`, `time`) ЗНАЧЕНИЯ (2571838, 1389, NULL, 0, 5, '2011-05-09 16:16:36'); ВСТАВИТЬ В `portal_gm_cron` (`id`, `id_wms`, `error`, `errorno`, `flag`, `time`) ЗНАЧЕНИЯ (2573106, 1389, NULL, 0, 5, '2011-05-09 18:56:10'); ВСТАВИТЬ В `portal_gm_cron` (`id`, `id_wms`, `error`, `errorno`, `flag`, `time`) ЗНАЧЕНИЯ (2574373, 1389, NULL, 0, 5, '2011-05-09 21:40:38'); ВСТАВИТЬ В `portal_gm_cron` (`id`, `id_wms`, `error`, `errorno`, `flag`, `time`) ЗНАЧЕНИЯ (2575640, 1389, NULL, 0, 5, '2011-05-10 00:24:09'); ВСТАВИТЬ В `portal_gm_cron` (`id`, `id_wms`, `error`, `errorno`, `flag`, `time`) ЗНАЧЕНИЯ (2576906, 1389, NULL, 0, 5, '2011-05-10 03:16:30'); ВСТАВИТЬ В `portal_gm_cron` (`id`, `id_wms`, `error`, `errorno`, `flag`, `time`) ЗНАЧЕНИЯ (2578175, 1389, NULL, 0, 5, '2011-05-10 05:52:55'); ВСТАВИТЬ В `portal_gm_cron` (`id`, `id_wms`, `error`, `errorno`, `flag`, `time`) ЗНАЧЕНИЯ (2579443, 1389, NULL, 0, 5, '2011-05-10 08:32:28'); ВСТАВИТЬ В `portal_gm_cron` (`id`, `id_wms`, `error`, `errorno`, `flag`, `time`) ЗНАЧЕНИЯ (2580711, 1389, NULL, 0, 5, '2011-05-10 11:20:34'); ВСТАВИТЬ В `portal_gm_cron` (`id`, `id_wms`, `error`, `errorno`, `flag`, `time`) ЗНАЧЕНИЯ (2581979, 1389, NULL, 0, 5, '2011-05-10 14:00:46'); ВСТАВИТЬ В `portal_gm_cron` (`id`, `id_wms`, `error`, `errorno`, `flag`, `time`) ЗНАЧЕНИЯ (2583239, 1389, NULL, 0, 5, '2011-05-10 16:32:32'); ВСТАВИТЬ В `portal_gm_cron` (`id`, `id_wms`, `error`, `errorno`, `flag`, `time`) ЗНАЧЕНИЯ (2584511, 1389, NULL, 0, 5, '2011-05-10 19:04:14'); ВСТАВИТЬ В `portal_gm_cron` (`id`, `id_wms`, `error`, `errorno`, `flag`, `time`) ЗНАЧЕНИЯ (2585784, 1389, NULL, 0, 5, '2011-05-10 21:29:00'); ВСТАВИТЬ В `portal_gm_cron` (`id`, `id_wms`, `error`, `errorno`, `flag`, `time`) ЗНАЧЕНИЯ (2587056, 1389, NULL, 0, 5, '2011-05-10 23:56:21'); ВСТАВИТЬ В `portal_gm_cron` (`id`, `id_wms`, `error`, `errorno`, `flag`, `time`) ЗНАЧЕНИЯ (2589600, 1389, NULL, 0, 5, '2011-05-11 04:56:32'); ВСТАВИТЬ В `portal_gm_cron` (`id`, `id_wms`, `error`, `errorno`, `flag`, `time`) ЗНАЧЕНИЯ (2590873, 1389, NULL, 0, 5, '2011-05-11 07:20:50'); ВСТАВИТЬ В `portal_gm_cron` (`id`, `id_wms`, `error`, `errorno`, `flag`, `time`) ЗНАЧЕНИЯ (2592143, 1389, NULL, 0, 5, '2011-05-11 10:00:47'); ВСТАВИТЬ В `portal_gm_cron` (`id`, `id_wms`, `error`, `errorno`, `flag`, `time`) ЗНАЧЕНИЯ (2593414, 1389, NULL, 0, 5, '2011-05-11 12:36:19'); ВСТАВИТЬ В `portal_gm_cron` (`id`, `id_wms`, `error`, `errorno`, `flag`, `time`) ЗНАЧЕНИЯ (2594682, 1389, NULL, 0, 5, '2011-05-11 15:28:39'); ВСТАВИТЬ В `portal_gm_cron` (`id`, `id_wms`, `error`, `errorno`, `flag`, `time`) ЗНАЧЕНИЯ (2595953, 1389, NULL, 0, 5, '2011-05-11 18:04:23'); ВСТАВИТЬ В `portal_gm_cron` (`id`, `id_wms`, `error`, `errorno`, `flag`, `time`) ЗНАЧЕНИЯ (2597226, 1389, NULL, 0, 5, '2011-05-11 20:28:09'); ВСТАВИТЬ В `portal_gm_cron` (`id`, `id_wms`, `error`, `errorno`, `flag`, `time`) ЗНАЧЕНИЯ (2598498, 1389, NULL, 0, 5, '2011-05-11 22:56:59');
Комментарии:
1. Связаны ли эти три таблицы каким-либо образом друг с другом? Если да, то используйте ОБЪЕДИНЕНИЯ. Если нет, то используйте ОБЪЕДИНЕНИЕ.
2. Не могли бы вы, пожалуйста, указать, как будет выглядеть ваш желаемый результат.
Ответ №1:
Не уверен, что я точно понимаю, что вы имеете в виду, но я думаю, вы просите, чтобы каждая строка из трех таблиц отображалась как одна, используя все столбцы из каждой таблицы (вводя нули для столбцов из других таблиц) и сортируя все строки в порядке даты (сначала самая последняя).
Используя ваш код в качестве примера (для выбора столбцов даты и фильтров), это должно сделать:
SELECT o.*
FROM (
(SELECT id_wms, time AS ordered_time, id, error, errorno, flag, NULL AS code, NULL AS subcode, NULL AS id_layer, NULL AS message, NULL AS message_real, NULL AS counter, NULL AS time_first, NULL AS time_last, NULL AS user_id, NULL AS mail_notify, NULL AS mail_period, NULL AS time_cron
FROM
portal_gm_cron)
UNION ALL
(SELECT id_wms, time_first AS ordered_time, id, NULL AS error, NULL AS errorno, NULL AS flag, code, subcode, id_layer, message, message_real, counter, time_first, time_last, NULL AS user_id, NULL AS mail_notify, NULL AS mail_period, NULL AS time_cron
FROM
portal_gm_log)
UNION ALL
(SELECT wms_id as id_wms, time AS ordered_time, id, NULL AS error, NULL AS errorno, NULL AS flag, NULL AS code, NULL AS subcode, NULL AS id_layer, NULL AS message, NULL AS message_real, NULL AS counter, NULL AS time_first, NULL AS time_last, user_id, mail_notify, mail_period, time_cron
FROM
portal_gm_provide
WHERE
user_id = 1)
) AS o
ORDER BY ordered_time DESC
Вы можете изменить порядок столбцов и выбор столбца даты в соответствии с вашими потребностями.