我是mysql的新手,我正在编写一个有3个表的程序
1. property_types(id,typename)
数据:(1,房屋)(2,商店)(3,餐厅)...
2.属性(id,propertyname,typeid)
数据:(1,房屋-1,1)(2,房屋-1,1)(3,商店-1,2)...
3. properties_rent(id,propertyid,amount,year)
数据:(1,1,500.00,2010)(2,1,500.00,2011)(3,2,700.00,2010)......
我需要列出2012年没有支付租金的所有房产(房产类型,例如:商店),所以基本上如果房产(房屋1)已经支付了2010年的房租和房产。 2011年但不是2012年它应该被列出,并且还没有支付任何租金的房产(餐厅-1)(租金表中没有记录)......
提前致谢...
答案 0 :(得分:0)
请试一试。
select p.id, p.propertyname, pt.typename
from properties p inner join property_types pt on (p.typeid = pt.id)
where not exists
(
select 1
from properties_rent
where year = 2012
and propertyid = p.id
)