Исходная проблема, которую я пытаюсь решить, заключается в том, что мне нужно показать все строки из определенной «объединенной» таблицы. Однако иногда они пустые без итогов и обычно не показывают (думают категории и подсчеты для каждого).Союз, который исключает значения из первой таблицы
Так что я пытаюсь сделать это объединение к набору данных «0 значение», чтобы показать все категории. Однако, когда я делаю объединение, он показывает строку значений 0, а также обычные данные. Вот пример ..
SELECT category_name, COUNT(files_number)
FROM files
LEFT JOIN categories ON categories.category_id = files.category_id
UNION
SELECT category_name, 0
FROM categories
Это даст мне результирующий набор, который выглядит примерно так:
category_name | value
----------------------
open file | 0
open file | 23
closed file | 0
Есть ли способ, чтобы удалить повторяющиеся записи нулевого значения? Пожалуйста, не существует также сложного предложения WHERE в реальном запросе, поэтому предпочтительнее избегать дублирования.
Я забыл об этом в исходном вопросе, но есть некоторые ограничения, с которыми я сталкиваюсь, потому что это реализовано с использованием BIRT. Таким образом, «правильный» ответ для меня может отражать эти ограничения, установленные BIRT. – Sh4d0wsPlyr