У меня есть определенная вещь, которая не может быть решена с помощью очень простого многоподзапроса SELECT
, показанного внизу: принимает запрос 1Сделайте несколько запросов, которые не могут быть подзапросами в одном и том же простом вводе SELECT в один результат multirow с использованием MySQL
SELECT playername AS Rookie FROM MinecraftMySQL.`lb-players` WHERE onlinetime >= 129600 AND onlinetime < 648000 ORDER BY playername;
который возвращает результат, как
+------------------+
| Rookie |
+------------------+
| _Golden_Apple |
| _MineTrick_ |
+------------------+
(только часть целого результата) и запрос 2
SELECT playername AS Eager FROM MinecraftMySQL.`lb-players` WHERE onlinetime >= 648000 AND onlinetime < 1296000 ORDER BY playername;
, которая возвращает как (только часть целого результата)
+-----------------+
| Eager |
+-----------------+
| 1Herofox |
| 1lyndon |
+-----------------+
Идея заключается в том, чтобы объединить эти столбцы, чтобы получить что-то вроде этого:
+------------------+-----------------+
| Rookie | Eager |
+------------------+-----------------+
| _Golden_Apple | 1Herofox |
| _MineTrick_ | 1lyndon |
+------------------+-----------------+
Запрос как
SELECT
(SELECT playername FROM MinecraftMySQL.`lb-players` WHERE onlinetime >= 129600 AND onlinetime < 648000) AS Rookie,
(SELECT playername FROM MinecraftMySQL.`lb-players` WHERE onlinetime >= 648000 AND onlinetime < 1296000) AS Eager
;
ведет в 1242 (21000): Subquery returns more than 1 row
. Googling - проблема, потому что я понятия не имею, какие слова использовать; использовано
mysql merge subqueries that return multiple rows
mysql multiple columns in result from subqueries
mysql select multiple queries as columns
как раз для того чтобы получить что-то совершенно другое.
Результат в основном предназначен только для просмотра человеком, и строки не имеют ничего общего с другими столбцами, поэтому какие средства используются для объединения этих столбцов, как это не имеет значения, если производительность не слишком высока; учитывая, что они вообще не связаны, делает JOIN
s похожим на неправильный инструмент.
Вот где мое понимание прекращается.
Это не дает результата я ищу Потому что тот, я ищу гораздо проще читать. – rautamiekka
К сожалению, простота чтения не означает, что это правильное решение. И решения подзаголовка являются суб-общими и сложнее читать. Что произойдет, если есть другое количество Rookies vs Eager? Вы должны отформатировать его для чтения пользователями в своем приложении :) – Martin
Существует большая разница в подсчете строк между несколькими подзапросами (эти 2 не являются единственными), но как просто для чтения компьютером doesn ' неважно, пока производительность для получения результата не будет убита. – rautamiekka