У меня есть две таблицы, одна со всеми моими строками журнала (имя таблицы: BoekstukRegels) и одна со всеми описаниями журналов (имя таблицы: balansen).SQL с левым соединением и группой
Это прекрасно работает:
SELECT SUM(BoekRegelBedrag) AS TOTAL, BoekRegelGrootboekNr, BoekRegelPeriode
FROM BoekstukRegels
WHERE BoekregelUserId = 45 AND BoekRegelPeriode LIKE '2012%'
GROUP BY BoekRegelGrootboekNr
Но проблема в том, я не получаю описание. Поэтому я пробовал это:
SELECT SUM(BoekRegelBedrag) as total, BoekRegelPeriode, BoekRegelGrootboekNr, BaOmschrijving, BaSoort
FROM BoekstukRegels
LEFT JOIN balansen ON BoekRegelGrootboekNr = BaGbNumber
WHERE BoekregelUserId = 45 AND BoekRegelPeriode LIKE '2012%' AND BaSoort = 2
GROUP BY BoekRegelGrootboekNr
Это дает мне описание, так что работало нормально, но проблема в том, что итоговые значения не совпадают. Я знаю, в чем проблема, и это потому, что в таблице balansen есть дубликаты.
Так что в той или иной ситуации для балансского стола нужна группа, но я не могу заставить ее работать, поэтому я надеюсь, что кто-то еще сможет мне помочь.
Заранее благодарен!
Я не могу добавить комментарий к ответу jerjer, но я думаю, что он решает проблему, существующую в MS SQL, которой у вас нет, когда речь идет о ссылках на неагрегированные поля в списке выбора, поскольку MySql позволяет этот синтаксис. –
Спасибо, Джо, это прекрасно работает !! –