#union
#объединение
Вопрос:
Возможно ли вообще объединить два разных результата запроса в один поток результатов?
На моем сайте есть два типа контента, один основан на сети WordPress и содержит ссылку на публикацию, заголовок, название блога, изображение (сгенерированное на основе содержимого записи в блоге), дату.
другой представляет собой набор добавленных пользователем музыкальных ссылок и содержит ссылку на музыку, название музыки, имя исполнителя, изображение (путь к загруженному изображению, сохраненному в базе данных), дату. Список тегов genres (сериализованный массив)
Я попробовал объединение, однако, несмотря на то, что все эти столбцы генерируют одну и ту же категорию содержимого, фактическое содержимое и, следовательно, способ его вывода полностью отличаются.
Что я могу сделать, чтобы объединить все это? Есть ли способ выяснить, из какой таблицы они в данный момент из запроса объединения? Тогда я мог бы использовать оператор if, чтобы решить, как выводить содержимое.
Комментарии:
1. Да, все возможно, но вы ничего не сказали нам о том, что вы используете.
Ответ №1:
Если вы используете ОБЪЕДИНЕНИЕ, вы могли бы добавить дополнительное поле, которое является «типом» (т. Е. 0 = Блог, 1 = Музыка и т.д.)
Затем во внешней части приложения извлекаются данные из этого поля, а затем с их помощью решается, к какому типу оно относится на самом деле / какие элементы включать.
Комментарии:
1. Смогу ли я добавить это в сгенерированные запросом или это уже нужно будет добавить в исходные таблицы?
2. Вы можете добавить это в используемый вами запрос.
SELECT 1 AS Type, * FROM table1 UNION SELECT 2 AS Type, * FROM table2