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 сделать колонки(инверсия) не подходит.


Ответы (0 шт):