我基本上有两组表。“道具_”和“可用_”。每个约。我使用 UNION ALL 加入的 4 个表。
我需要选择具有必要位置和睡眠的属性,这些属性未出现在特定日期范围的可用性表中。
property tables... 'props_01', 'props_02', 'props_03', 'props_04'
id code location sleeps
1 7A06E91875 devon 2
2 440ac2664c cornwall 4
5 0474d4882b devon 2
availability tables... 'avail_01', 'avail_02', 'avail_03', 'avail_04'
id prop_code date
1 440ac2664c 20130208
2 440ac2664c 20130209
3 440ac2664c 20130210
4 440ac2664c 20130211
5 440ac2664c 20130212
这些可用性表包含所有预订日期。所以我希望只从他们没有指定日期范围的可用性记录的属性表中进行选择。这就是我想要查询它的方式......
(avail.date != '20130209' AND avail.date != '20130210' AND avail.date != '20130211' AND avail.date != '20130212' AND avail.date != '20130213') OR (avail.date != '20130210' AND avail.date != '20130211' AND avail.date != '20130212' AND avail.date != '20130213' AND avail.date != '20130214')
我还需要对位置和睡眠的属性表应用过滤器。
除了包括可用性之外,我所做的所有事情的查询如下,这很好用,但我不知道如何最好地修改它以查询可用性表......
SELECT prop.* FROM (SELECT * FROM `props_01` UNION ALL SELECT * FROM `props_02` UNION ALL SELECT * FROM `props_03` UNION ALL SELECT * FROM `props_04`) prop WHERE prop.location='Devon' AND prop.sleeps>='4' ORDER BY prop.sleeps ASC