我試圖節省服務器資源,減少查詢MySql:我可以在嵌套查詢中使用查詢結果作爲變量嗎?
數我需要的是使用一個變量在另一個查詢拿着查詢結果作爲這樣
$names = ("SELECT * FROM table WHERE username like 'M%'");
嵌套查詢這將返回在table
開始M
所有的名字後,我想用$names
因爲這樣
$myname = ("SELECT * FROM $names WHERE username='Mohammad'");
嵌套查詢
我看到了一個答案,建議從內存中的第一個查詢結果創建一個臨時表,但這不是我所需要的,因爲我會長時間保留$names
,並且我無法將表全部保留在內存中時間,這將繪製服務器資源。
我想它像上面並與它相似的許多方面的語法,但它沒有工作
我不想做它在1次這樣的查詢,因爲這將執行嵌套查詢每次我需要使用$names
$myname = ("SELECT * FROM ("SELECT * FROM table WHERE username like 'M%'") WHERE username='Mohammad'");
,因爲我需要首先結果作爲一個單獨的變量在我的腳本的其他地方使用它。
編輯
我首先需要的查詢,因爲我會做基於它的許多查詢,如
$name = ("SELECT * FROM $names WHERE username='Many'");
$name = ("SELECT * FROM $names WHERE username='Mando'");
等
你爲什麼不只需從表中選擇*,其中username ='Mohammad''? – FuzzyTree
做'SELECT * FROM $ names',如果有人從你以前的搜索中搜索一個不存在的表,例如「Manhattan」,你的查詢將會失敗。您將需要使用條件語句。 –
我編輯了我的問題。謝謝大家 – Mohammad