У меня есть этот запрос ниже. В таблице «stats» с именем пользователя есть несколько строк. 1 для каждого сервера (ов). Он продолжает дублировать убийства & значение смертности в зависимости от количества строк в таблице статистики с именем пользователя. Например, если в таблице pvp есть 2 убийства и 1 смерть для имени пользователя Test, а в таблице статистики есть 2 строки с именем пользователя Test one для server1 и one для server2, то при запуске этого запроса он показывает 4 убийства и 2 смертей. Я не знаю, почему.Проблема с расширенным запросом MySQL LEFT JOIN
Вот SQLFiddle: http://sqlfiddle.com/#!2/c7049/1
SELECT st.*,
COALESCE(SUM(pvp.killer = st.username), 0) AS kills,
COALESCE(SUM(pvp.username = st.username), 0) as deaths,
COALESCE(ROUND(SUM(pvp.killer = st.username)/SUM(pvp.username = st.username), 2), 0.00)
as kd FROM stats AS st
LEFT JOIN pvp ON pvp.username = st.username OR pvp.killer = st.username
WHERE st.username="Username"
Пожалуйста, разместите данные образца и требуемый результат. Или, что еще лучше, создайте [SQL Fiddle] (http://sqlfiddle.com/) для вашей проблемы. –
Вот SQLFiddle: http://sqlfiddle.com/#!2/c7049/1 – user3205106
Еще один шаг. Какой результат (результат) должен получить такой запрос? Что вы считаете правильным? Пожалуйста, напишите в виде таблицы. –