sql >> Database teknologi >  >> RDS >> Mysql

Kør 2 forespørgsler sammen, men kør hver for sig

Du bør slutte dig til de to forespørgsler:

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

Fordi det er en LEFT JOIN , Open_time og Closing_time udfyldes, hvis restauranten er åben, ellers vil de være NULL . Så PHP, der viser resultaterne, kan tjekke dette:

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. MySQL hentetid optimering

  2. Få resultater fra mine egne og venners indlæg

  3. Twisted adbapi:runInteraction last_insert_id()

  4. Stop med at få SQL Server til at udføre dit beskidte arbejde