2014-08-29 3 views
1

Im пытается сделать подзапрос сCodeigniter подзапрос существует

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

Но он не работает, выход этого: myquery + WHERE «EXISTS (SELECT * FROM MyTable);

Эта цитата перед EXISTS делает запрос неразрешимым!

Кто-нибудь знает, как его решить?

Спасибо!

+2

[это] (http://stackoverflow.com/questions/6047149/subquery-in-codeigniter-active-record) может пролить некоторый свет – Ghost

ответ

4

удалите пространство до и после ключевого слова EXISTS. Это не отображает никаких ошибок.

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

лучшее решение! благодаря – Nacho

1

Просто попробуйте это.

Вместо использования предложения 'where', пожалуйста, запишите всю строку запроса &, выполнив запрос, используя $ this-> db-> query();

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

он работает, но его не очень аккуратный. благодаря! – Nacho

2

Может быть, вы могли бы попытаться установить бежать в ложь, используя

$ this-> db-> где ("EXISTS (SELECT * FROM MyTable)", нуль, ложь);

Это фрагмент, где() в DB_active_rec.php

публичную функцию, где ($ ключ, значение $ = NULL, $ избежать = TRUE)

Смежные вопросы