JOIN нескольких таблиц выдаёт дубликаты
Имеются две таблицы shablons и statday. Требуется отсортировать результат в обратном порядке по сумме нескольких записей(из statday значение ячеек 3х полей(поля отбираются соответствующие условию), из shablons значение 3х колонок одного поля).
Проблем не возникает когда я отбираю значение ячейки одного поля из statday и из shablons значение 3х колонок одного поля таким образом:
SELECT h.*
FROM shablons h
JOIN statday s ON h.id = s.id_shab
WHERE h.gender = 1 AND s.date = 1710882000 AND s.type = 8
ORDER BY h.s8+h.s9+h.s10+s.value DESC
LIMIT 100;
Но требуется значение именно трех полей из таблицы statday, пробую так:
SELECT h.*
FROM shablons h
JOIN statday s ON h.id = s.id_shab
WHERE h.gender = 1 AND s.date = 1710882000 AND (s.type = 8 OR s.type = 9 OR s.type = 10)
ORDER BY h.s8+h.s9+h.s10+s.value DESC
LIMIT 100;
В этом случае начинают дублироваться строки по 3 раза(я понимаю из-за чего происходит дублирование, но как решить не могу понять).
Вариант из полей в таблице statday сделать колонки(инверсия) не подходит.