-2
我的产品,供应商,供应商的可用天及预订表的对面。目前,我的搜索功能只能通过供应商当天搜索,而不能搜索预订表。我使用供应商和供应商之间的左连接,并与选定的日期,时间和小时进行比较。搜索结果起作用。如何通过预订表进行搜索?选择联合数据
产品列表
id | vendor_id | title | description
表卖方
id | name
卖方推介表
id | vendor_id | d_day | d_start_hour | d_start_minute | d_end_hour | d_end_minute
预订表
id | vendor_id | d_date | d_day | d_start_hour | _start_minute
下面是我如何选择基于所选的一天,START_HOUR和START_MINUTE产品:
SELECT * FROM product
LEFT JOIN (SELECT * FROM vendor GROUP BY id) vendor
ON vendor.id = product.vendor_id
LEFT JOIN (SELECT * FROM vendor_available GROUP BY id) vendor_available
ON vendor_available.vendor_id = product.vendor_id
WHERE (d_day = '4'
AND (CONCAT(d_start_hour, '.' , d_start_minute) + 0.0) <= '12.15'
AND (CONCAT(d_end_hour, '.', d_end_minute) + 0.0) >= '12.15')
4
是所选择的日期和12.15
是所选择的时间和所选择的分客户端。
当用户选择12.15是下午12时15分,该查询将检查哪个产品是供应商可用的时间之间提供。
如何使用反工会与预订表,这样它已经预订产品不显示给用户?
参见:[?我为什么要提供什么,在我看来是一个非常简单的SQL查询的MCVE(https://meta.stackoverflow.com/questions/333952/why-should-i-provide-an -mcve换什么,似乎对我将要-A-极简单的SQL查询) – Strawberry