簡體   English   中英

在另一個SQL語句中使用SQL語句的輸出?

[英]Using the output of an SQL statement in another SQL statement?

我正在嘗試將輸出從一個SQL語句轉換為另一條SQL語句,盡管它似乎不起作用。 是否有替代方案,我將如何使用?

$id = ($_SESSION["user_id"]);
                $query1 = "SELECT event_id FROM booking where user_id = '$id'"; 
                $result = mysql_query($query1);

                $query2 = "SELECT * FROM event where event_id = '$result'";
                $results = mysql_query($query2);

您可以加入表格,嘗試使用以下語法

SELECT event.event_id,booking.* 
FROM event
JOIN booking on event.event_id=booking.event_id
WHERE booking.user_id='$id';

如何使用一個查詢而不是兩個查詢:

        $id = ($_SESSION["user_id"]);
        $query2 = "SELECT * FROM event 
                   where event_id IN (SELECT event_id 
                                        FROM booking 
                                       where user_id = '$id')";
        $results = mysql_query($query2);

您也可以使用子查詢在單個查詢中執行此操作 ,如下所示:

$id = $_SESSION["user_id"];
$query = "SELECT * FROM event where event_id = (SELECT event_id FROM booking where user_id = '$id' LIMIT 1)"; 
$result = mysql_query($query);
$row = mysql_fetch_array($result);

這只是一個數據庫調用,而不是兩個,因此效率更高。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM