2014-03-27 80 views
0

SQL嵌套查詢是這樣的: -嵌套MySQL查詢在笨不工作

$this->db->where_in('order.order_id', "SELECT `booking_id` FROM `booking` where `booking_id`=$id"); 

的問題是,where_in被認爲是一個字符串,而不是作爲一個查詢中第二個參數;因爲它來自下報價,而最後通過打印功能來執行查詢:

print_r($this->db->last_query()); 

因此它從數據庫返回什麼。

我該如何容忍這個問題有人可以請幫忙嗎?

+0

檢查此http://stackoverflow.com/questions/6047149/subquery-in-codeigniter-active-record – Sadikhasan

+0

已經通過了,但沒有得到;不能夠像我在查詢中那樣傳遞變量 –

+0

我不確定爲什麼當子查詢只能返回一列,而不是一系列值時,使用「where_in」。此外,您的子查詢是完全多餘的,您正在選擇'booking_id' WHERE'booking_id'由您在$ id變量中提供,因此只會返回$ id的值。你試圖用你的查詢達到什麼目的? – AJReading

回答

0

你應該使用$this->db->where();

然後在整個where子句通過爲字符串

0

您可以使用:

$this->db->query("Your Query here");

,或者你可以做這樣的事情:

$whereClaus = "Your where clause"; 

$this->db->where($whereClause); 
+0

但也有第二個參數來引號,我需要消除 –