у меня есть 3 различных запросов, которые в основном сортировать одинаковые результаты по различным параметрам, и я хотел бы MySQL, чтобы вернуть их результаты объединены в 3-х различных колонок:MySQL: Слияние 3 результатов запроса по столбцам
SELECT `text` AS `popular` FROM `searches` WHERE `text` LIKE 'Tyr%' ORDER BY `hits` DESC LIMIT 10
SELECT `text` AS `recent` FROM `searches` WHERE `text` LIKE 'Tyr%' ORDER BY `datetime` DESC LIMIT 10
SELECT `text` AS `matches` FROM `searches` WHERE `text` LIKE 'Tyr%' ORDER BY `matches` DESC LIMIT 10
Первый запрос возвращает это:
| popular |
| A |
| B |
| C |
Второй запрос возвращает это:
| recent |
| B |
| C |
| A |
Третий Цюй ERy возвращает это:
| matches |
| C |
| A |
| B |
Я хотел бы объединить эти результаты, так что я получаю это с помощью одного запроса:
| popular | recent | matches |
| A | B | C |
| B | C | A |
| C | A | B |
Это то, что я пытался до сих пор, но результат я получаю полностью перепутались.
SELECT * FROM
(SELECT `text` AS `popular` FROM `searches` WHERE `text` LIKE 'Tyr%' ORDER BY `hits` DESC LIMIT 10) AS A
JOIN (SELECT `text` AS `recent` FROM `searches` WHERE `text` LIKE 'Tyr%' ORDER BY `datetime` DESC LIMIT 10) AS B ON 1=1
JOIN (SELECT `text` AS `matches` FROM `searches` WHERE `text` LIKE 'Tyr%' ORDER BY `matches` DESC LIMIT 10) AS C ON 1=1
Вы хотите, чтобы результаты, которые одинаковы в 3-х запросов быть в той же строке, или вы хотите просто объединить 3 запросов и получить всего 30 записей? Приведите пример, как выглядят ваши данные и что вы ожидаете от вывода. –