Mysql
 sql >> база данни >  >> RDS >> Mysql

Изпълнете 2 заявки заедно, но изпълнете отделно

Трябва да обедините двете заявки:

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%'

Защото това е LEFT JOIN , Open_time и Closing_time ще бъдат попълнени, ако ресторантът е отворен, в противен случай те ще бъдат NULL . Така че PHP, който показва резултатите, може да провери това:

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. Код на грешка:1406. Данните са твърде дълги за колона - MySQL

  2. CONCAT колони с Laravel 5 eloquent

  3. Как да наложа уникалност в таблица?

  4. Мога ли да изпълня MySQL SQL оператори във FireFox?

  5. php:сесията не работи, докато работи на живо на сървъра