2014-08-29 59 views
1

我試着做一個子查詢與笨子查詢存在

$this->db->where(" EXISTS (SELECT * FROM myTable)"); 

但它不工作,這個輸出是:更改爲MyQuery + WHERE「存在(SELECT * FROM myTable的);

EXISTS之前的報價使查詢無法解析!

有誰知道如何解決它?

謝謝!

+2

[此]( http://stackoverflow.com/questions/6047149/subquery-in-codeigniter-active-record)可能會發出一些光 – Ghost 2014-08-29 03:38:19

回答

4

請刪除EXISTS關鍵字前後的空格,不顯示任何錯誤。

$this->db->where("EXISTS(SELECT * FROM myTable)"); 
+0

最好的解決方案!謝謝 – Nacho 2014-08-29 14:59:37

1

試試這個。

而不是使用'where'子句,請記下完整的查詢字符串&使用$ this-> db-> query()執行查詢。

$qry_string= $yourquery . "WHERE EXISTS (SELECT * FROM myTable)"; 
    $this->db->query($qry_string); 
+0

它的作品,但它不那麼整齊。謝謝! – Nacho 2014-08-29 14:59:54

2

也許你可以嘗試使用

設置逃生虛假$這個 - > DB->其中( 「EXISTS(SELECT * FROM mytable的)」,空,假);

這是的片斷,其中()中DB_active_rec.php

公共函數,其中($鍵,$值= NULL,$逸出= TRUE)