Führen Sie mit CodeIgniter eine SELECT-Abfrage aus, die WHERE NOT EXISTS für eine Unterabfrage enthältPhp

PHP-Programmierer chatten hier
Anonymous
 Führen Sie mit CodeIgniter eine SELECT-Abfrage aus, die WHERE NOT EXISTS für eine Unterabfrage enthält

Post by Anonymous »

Meine Abfrage funktioniert in PHPMyAdmin einwandfrei. Ich habe versucht, es mit den Abfrage-Builder-Methoden von CodeIgniter auszuführen, konnte aber die verschachtelte Abfrage nicht schreiben. Also habe ich stattdessen darauf zurückgegriffen, die Abfrage im normalen SQL-Format zu schreiben.
Mein Arbeits-SQL:

Code: Select all

SELECT *
FROM conversations c
JOIN messages m ON m.mconv_num = c.cnum
WHERE c.cuser2 = 2
AND NOT EXISTS (
SELECT *
FROM messages m2
WHERE m2.mconv_num = m.mconv_num
AND m2.mtime > m.mtime
)
Modell:

Code: Select all

public function get_conversations_last_message_by_id($userLoginID)
{
$query = 'SELECT * FROM conversations c JOIN messages m ON m.mconv_num = c.cnum WHERE c.cuser2 = $userLoginID AND NOT EXISTS (SELECT * FROM messages m2 WHERE m2.mconv_num = m.mconv_num AND m2.mtime > m.mtime)';
$this->db->query($query);

$query = $this->db->get();
if ($query->num_rows() > 0) {
return $query->result();
} else {
return false;
}
}
Aber ich erhalte diese Fehlermeldung:

Ein Datenbankfehler ist aufgetreten
Keine Tabellen verwendet
SELECT *

Wenn mir jemand helfen kann, meine Abfrage auszuführen oder sie in den Abfrage-Builder von CodeIgniter zu konvertieren, wäre das hilfreich.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post