我有这些表格:
table A
现在,来自父母的公寓和房间的配置可以继承。
继承逻辑:
此外,如果Room有CONFIG_ID但是只有一个配置字段为NULL,这也意味着只继承该字段。 (例如,Room有一个config_id = 4,而config 4中的TYPE为NULL,表示该类型是继承的)
实施例: Room" Kitchen"有CONFIG_ID = NULL 公寓"贵宾公寓"有一个CONFIG_ID!= NULL,TYPE = 2 因此,Kitchen TYPE为NULL,表示实际值为2(继承自Apartment)
我想要的是 SQL查询,以便按类型搜索会议室(即使它是如此继承的<)> 。
所以如果我搜索TYPE = 2的房间&#39;厨房&#39;上面应该找到,因为它继承自公寓。
我无法解决这个问题。我尝试在每个街区/公寓/房间使用3个连接,但我需要的配置每次都可以来自不同的桌子。而且我不知道如何有条件地加入每张桌子上的配置。
查询的伪代码:
table B
搜索类型为2的房间时的预期结果:
Config
ID
TYPE - number (possible values 0,1,2)
Block
CONFIG_ID
Apartment
CONFIG_ID
BLOCK_ID
Room
CONFIG_ID
APARTMENT_ID