sql >> Databáze >  >> RDS >> Mysql

Spusťte 2 dotazy společně, ale spusťte je samostatně

Měli byste spojit dva dotazy:

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

Protože je to LEFT JOIN , Open_time a Closing_time budou vyplněny, pokud je restaurace otevřena, jinak budou NULL . Takže PHP, které zobrazuje výsledky, to může zkontrolovat:

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. Jak Cosh() funguje v PostgreSQL

  2. php mysql_connect Varování zakázat

  3. Jak vyladit nebo otestovat výkon kódu PLSQL v Oracle D2k Forms

  4. Proč dostanu Postup očekává parametr '@statement' typu 'ntext/nchar/nvarchar'. když se pokusím použít sp_executesql?