Я пытаюсь получить имена папок и файлов из разных таблиц, в результате КАЖДЫЙ оператор запроса сортирует их по убыванию их update_date
, а затем соединяет их, используя UNION
.
Если яЗапустите эти два запроса по отдельности. Это сработает, и результат будет получен из базы данных в порядке убывания даты.Но когда я использую UNION
с ними, это не дает мне правильного ответа.
Какой может быть правильный способ получить его?
(
SELECT create_date, folder_name AS actual_name, folder_id, folder_displayed_name AS displayed_name, update_date, delete_flag, NULL AS img_url, NULL AS protect_flag, NULL AS file_type, list_order
FROM aaaaa_estate.docs_folder
WHERE delete_flag =0
AND inside_of_folder = ''
ORDER BY update_date DESC
)
UNION (
SELECT create_date, file_name AS actual_name, id, displayed_name, update_date, delete_flag, img_url, protect_flag, file_type, list_order
FROM aaaaa_estate.docs_contract
WHERE delete_flag =0
AND inside_of = ''
ORDER BY update_date DESC
)
Если я использую предложение Order Byв самом конце.Он сортирует все данные на основе их update_date
ORDER BY DESC
, которые я никогда не хочу.
Я хочу показать список документов пользователю, как Google показывает в Google Drive, сначала всегда папка, а затем файлы, а затем.Каждый из них Отсортировано по update_date DESC