У меня есть SQL-запрос, который находит средний возраст каждого человека, который покупает определенный тип свойства. Запрос возвращает средний возраст для каждого типа свойства, но не включает тип свойства, где поле «средний возраст» равно null. Как мне это сделать?Включая значения Null в запросе SQL
SELECT round(avg(round((datediff(now(),dateofbirth)/365),0))) as 'Average Age', propertyname
from apartment, buyer
WHERE buyer.propertyID = apartment.propID
group by propertyname
UNION
SELECT round(avg(round((datediff(now(),dateofbirth)/365),0))) as 'Average Age', propertyname
from house, buyer
WHERE buyer.propertyID = house.propID
group by propertyname
ВЫБРАТЬ раунд (ср (круглые ((DateDiff (теперь(), DateOfBirth)/365), 0))) как 'Средний возраст', PROPERTYNAME из квартиры, Покупатель WHERE buyer.propertyID = квартира.propID (+) группа по имени собственности UNION SELECT round (avg (round ((датфик (теперь(), дата рождения)/365), 0))) как «Средний возраст», propertyname от дома, покупатель WHERE buyer.propertyID = house.propID (+) group by propertyname - попробуйте выполнить этот – Satya
, который дает мне ошибку: '# 1064 - У вас есть ошибка в синтаксисе SQL; проверьте руководство, соответствующее вашей версии сервера MySQL, для правильного синтаксиса для использования рядом с группой) по имени свойства UNION SELECT round (avg (round ((dateiff (now(), dateofbirth 'в строке 1', спасибо в любом случае :) – user2328961
Когда вы вводите «из квартиры, покупателя», вы делаете INNER JOIN. Используйте LEFT OUTER JOIN для включения результатов из левой таблицы (свойства в этом случае) без соответствующей записи в другой таблице. – Tallmaris