Я провел некоторое исследование и узнал о функции COALESCE(sum(num), 0)
. Проблема заключается в том, что я нашел ссылку только на использование одной таблицы.Выберите сумму нуля, если нет записей во второй таблице?
Я вычисляю сумму из второй таблицы, а если нет записей для элемента во второй таблице, я все равно хочу, чтобы он отображался в моем запросе и имел сумму нуля.
SELECT note.user, note.product, note.noteID, note.note, COALESCE(sum(noteTable.Score), 0) as points
FROM note, noteTable
WHERE note.user <> 3 AND note.noteID = noteTable.noteID
Я получаю результаты только в том случае, если есть запись во второй таблице noteTable. Если для заметки добавлены оценки, я все равно хочу, чтобы они отображались в результате с нулевым значением точек.
Таблица Примеры:
Примечание
user | product | noteID |note
3 1 1 Great
3 2 2 Awesome
4 1 3 Sweet
NoteTable
noteID | score
1 5
Запрос должен показать мне это:
user | noteID | sum(points)
3 1 5
3 2 0
4 3 0
Но я получаю только это:
user | noteID | sum(points)
3 1 5
При размещении MySQL, включая формат таблицы и некоторые фиктивные данные, помогает _a lot_ для пользователей, пытающихся ответить на ваш вопрос. В противном случае люди просто должны это принять. – Jhecht