簡略化されたスキーマは次のとおりです。
CREATE TABLE IF NOT EXISTS `person` (
`Id` int(11) NOT NULL AUTO_INCREMENT,
`HousingId` int(11) NOT NULL,
PRIMARY KEY (`Id`)
);
CREATE TABLE IF NOT EXISTS `housing` (
`Id` int(11) NOT NULL AUTO_INCREMENT,
`Capacity` int(11) NOT NULL,
PRIMARY KEY (`Id`)
);
各住宅の空きスペースを簡単に取得するにはどうすればよいですか?
次のクエリを試しました。
select housing.Id, housing.Capacity - count(person.Id)
from housing, person
where person.HousingId = housing.Id
group by housing.Id
しかし、それは少なくとも一人の人がいる住宅に対してのみ機能し、空の人に対しては機能しません。
ご協力いただきありがとうございます !