Поскольку более чем одна запись в t_large
может соответствовать записи в t_small
, вам необходимо выбрать, что именно вы хотите выбрать из t_large
.
Это означает, что вам нужно либо объединить все соответствующие записи из t_large
(как?), Либо выбрать одну запись из множества (что?).
SELECT s.*, SUM(l.value)
FROM t_small s
LEFT JOIN
t_large l
ON s.id = l.small
или
SELECT s.*, l.*
FROM t_small s
LEFT JOIN
t_large l
ON l.id =
(
SELECT MIN(id)
FROM t_large li
WHERE li.small = s.id
)
Теперь представьте себе такую раскладку таблицы:
t_small
id value
-- --
1 Small 1
2 Small 2
t_large
id small_id value
-- -- --
1 1 1
2 1 4
3 2 9
4 2 16
Не могли бы вы опубликовать набор результатов, который вы хотели бы видеть в результате запроса?