У меня есть две таблицы SQL, одна называется X, а другая - Y. Таблица X имеет два столбца: название улицы и номер дома. Таблица Y также имеет две колонки: название улицы и номер дома.
Я пытаюсь создать запрос, который позволяет мне подсчитать, сколько раз встречается название определенной улицы, обычно это было бы очень просто.
Но при некоторых исследованиях уловка заключается в том, что если вы используете count (), когда в столбце нет экземпляров данной строки, она должна вернуть 0, но это не так.
Любая помощь о том, как сделать count () в SQL возвращает 0 будет принята с благодарностью. В настоящее время, когда я запускаю запрос, он возвращает 1, даже если в таблице нет его экземпляров.
Текущий запрос:
SELECT b.wing,count(b.wing),count(a.wing)
FROM residents as a, rooms as b
WHERE b.wing = ( "Wing" OR "East" OR "Split")
GROUP BY b.wing
Результат
East 2 1
Split 1 1
West 1 1
Ожидаемый результат
East 2 0
Split 1 0
West 1 1
Текущий результат с текущим предлагаемым решением
East 1 1
Split 1 1
West 1 1
Проблема: 2-й столбец Split и East должен возвращать 0 (в таблице их нет)
Пример данных:
residents
name wing roomnum
'justin', 'West', '400', ( in this table there is only one entry)
rooms
wing roomnum
'East', '410',
'Split', '400',
'West', '400',
'East', '400',