我试图执行SQL SELECT查询以获取城市内的所有商店,并且还有一个字段以通知商店是否在工作时间内。SQL SELECT根据工作时间获取公司状态
这是SQL我到目前为止:
$day = date('w');
$hour = date('H:i:s');
SELECT a.id, a.rating, a.name, a.image, b.cityName
(
SELECT 1 FROM tbStore a, workingHour b
WHERE a.id = b.id_store
AND b.weekDay = '$day'
AND b.hourOpen <= '$hour'
AND b.hourClose >= '$hour')
) as 'open'
FROM tbStore a, tbCity b
WHERE b.url = '$url'
AND a.id_city = b.id
ORDER BY open
我正在检查该值的方式是一个布尔值,所以“打开”字段必须是0(关闭)或1(开)。
这是一种工作......但问题是,如果只有一家商店在工作时间内,所有其他商店也将“开放”,而不仅仅是特定的商店。
我还看到了一些人们使用CASE而不是另一个select的sql语句,因此只要最终结果是正确的,就可以使用任何其他类型的代码。
我也不得不重命名表的信。因为城市表是'b',我没有'workingHourb',而是'workingHourc'。但现在它正在工作!谢谢 – celsomtrindade