Я знаю, что вы можете комбинировать несколько таблиц-selects с помощью оператора Join, но есть способ объединить эти два запроса в один?Объединение запросов в MySQL
SELECT Statistics.StatisticID
FROM Statistics
ORDER BY `SubmittedTime` DESC
LIMIT 0, 10
И этот?
SELECT COUNT(Votes.StatisticID)
FROM Votes
WHERE Votes.StatisticID = ?
(пух удален)
На данный момент я достиг чего-то, что почти работ.
SELECT Statistics.StatisticID, COUNT(Score.StatisticID) AS Votes
FROM `Statistics`
LEFT JOIN `Votes` AS `Score` ON `Statistics`.`StatisticID` = `Score`.`StatisticID`
ORDER BY `SubmittedTime` DESC
LIMIT 0, 10
Votes
таблица представляет собой простой StatID, Идентификатор_пользователя столяр. В моем тестовом примере он содержит 3 строки, два с StatID 5 - 1 с StatID 2.
Мой запрос будет работать, если я добавлю предложение WHERE, например и правильно верну 2 голоса. Однако, если я удаляю предложение WHERE, я все равно получаю одну строку и 3 голоса.
Можно ли комбинировать эти запросы или мне нужно запустить второй для каждого результата (очевидно, не предпочтительнее)?
Не знаете, почему это получилось -1 ... – Ross 2008-11-20 21:07:48