Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Chạy 2 truy vấn cùng nhau nhưng thực thi riêng lẻ

Bạn nên kết hợp hai truy vấn:

SELECT
    Rest_Details.Resturant_ID,
    Rest_Details.Resturant_name,
    Delivery_Pcode.Pcode,
    Opening_hrs.Open_time,
    Opening_hrs.Closing_time
FROM Rest_Details
JOIN Deliver_Pcode ON Delivery_Pcode.Restaurant_ID=Rest_Details.Restaurant_ID
LEFT JOIN Opening_hrs ON Opening_Hrs.Restaurant_ID=Rest_Details.Restaurang_ID
    AND Day_of_week = WEEKDAY(NOW()) AND CURTIME() BETWEEN Open_time AND Closing_time
WHERE Delivery_Pcode.Pcode LIKE '%$pcode%'

Vì đó là LEFT JOIN , Open_timeClosing_time sẽ được điền nếu nhà hàng mở cửa, nếu không thì sẽ là NULL . Vì vậy, PHP hiển thị kết quả có thể kiểm tra điều này:

while ($row_prods = mysqli_fetch_array($sql)) {
    $rest_id = $row_prods['Resturant_ID'];
    $rest_name = $row_prods['Resturant_name'];

    $output .= '<div id="products">' .
            ' <p id="rest_name">' . $rest_name . '</p>';
    if ($row_prods['Open_time']) {
        $output .= '<p> open ' . $row_prods['Open_time'] . ' close ' . $row_prods['Close_time'];
    }
    $output .= "</div>";
    $i++;
}


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm thế nào để có SQL động trong thủ tục lưu trữ MySQL

  2. Cách chuyển đổi MYSQL db trong PHP

  3. Lỗi khi thay đổi nội dung biến tùy thuộc vào trạng thái phiên

  4. MySQL:Mã lỗi:1118 Kích thước hàng quá lớn (> 8126). Thay đổi một số cột thành TEXT hoặc BLOB

  5. Lệnh SQL giữa hai ngày giờ để đặt trước bảng