2016-10-23 4 views
0

Я использую lahman базу данных sabermetrics узнать MySQLИспользование вложенной Выбрать из другой таблицы, чтобы сформировать условие

Я пытаюсь увидеть, какие кувшины имеют высокий общий Home натыкается данных. Таблица ватина содержит столбец Главные Запускается (HR), в то время как таблица -билдинга содержит столбец Позиции (POS)

Я попытался следующего

SELECT playerID, SUM(HR) AS HR_SUM_TOTAL 
FROM batting 
GROUP BY playerID 
WHERE (SELECT POS 
     FROM fielding 
     WHERE POS = "P") 
ORDER BY HR_SUM_TOTAL DESC 

Есть ли способ, я могу сделать это с вложенный выбор или было бы проще просто добавить столбец POS в таблицу ватин, а затем запустить запрос?

Заранее спасибо

+0

что вопрос? что не работает? – Rogue

ответ

0

Если я правильно понимаю ваш вопрос один из способов сделать это было бы

SELECT b.playerID, SUM(b.HR) HR_SUM_TOTAL 
    FROM batting b JOIN 
    (
     SELECT DISTINCT playerID 
     FROM fielding 
     WHERE POS = 'P' 
) f ON b.playerID = f.playerID 
GROUP BY b.playerID 
ORDER BY HR_SUM_TOTAL DESC 

или

SELECT playerID, SUM(HR) HR_SUM_TOTAL 
    FROM batting 
WHERE playerID IN 
(
    SELECT DISTINCT playerID 
     FROM fielding 
     WHERE POS = 'P' 
) 
GROUP BY playerID 
ORDER BY HR_SUM_TOTAL DESC 
+0

Спасибо, это сработало. –

+0

Я не узнал, как присоединяться к столам, поэтому я думаю, что у меня возникли проблемы с этим. –

+0

Вы очень рады :). См. Обновленный ответ для версии без 'JOIN' – peterm