Ich habe ein Problem mit meiner Abfrage und Ich muss zwei Tabellen aus verschiedenen Datenbanken zusammenfügen. Jetzt ist mein Problem, wie ich meine Abfrage ausführen kann. Ich habe mein Syntaxformat von hier bekommen
Bitte besuchen Sie zuerst diesen Link, um zu verstehen, warum meine SQL-Syntax so ist.
http://www.x-developer.com/php-scripts/sql-connecting-multiple-databases-in-a-single-query
$ENROLLEES = $this->load->database('ENROLLEES', TRUE);
$ACCOUNTS = $this->load->database('ACCOUNTS', TRUE);
$SELECT = "SELECT $ACCOUNTS.BALANCES_TABLE.IDNO, $ACCOUNTS.BALANCES_TABLE.balance";
$FROM = "FROM $ACCOUNTS.BALANCES_TABLE";
$WHERE = "$ACCOUNTS.BALANCES_TABLE.IDNO IN (SELECT $ENROLLEES.ENROLLEES_TABLE.IDNO FROM $ENROLLEES.ENROLLEES_TABLE)";
$SQL = $SELECT ." ". $FROM ." ". $WHERE;
MAIN PROBLEM: Wie führe ich meine Abfrage aus?
.__ Wenn uns dies in codeIgniter gefällt:
$ENROLLEES->query($SQL); or $ACCOUNTS->query($SQL);
Wie kann ich meine Abfrage mit mehreren Datenbanken ausführen? Was werde ich hier anbieten?[database]->query($SQL);
?
$query = $this->db->query($SQL);
return $query->result_array();
Wenn die Datenbanken Server gemeinsam nutzen, verfügen Sie über ein Login, das über Berechtigungen für beide Datenbanken verfügt, und lassen Sie einfach eine Abfrage ausführen, die der folgenden ähnelt:
$query = $this->db->query("
SELECT t1.*, t2.id
FROM `database1`.`table1` AS t1, `database2`.`table2` AS t2
");
Ansonsten denke ich, dass Sie die 2 Abfragen separat ausführen und die Logik anschließend korrigieren müssen.
Ich kann sehen, was @ Þaw erwähnt hat:
$ENROLLEES = $this->load->database('ENROLLEES', TRUE);
$ACCOUNTS = $this->load->database('ACCOUNTS', TRUE);
CodeIgniter unterstützt mehrere Datenbanken. Sie müssen beide Datenbankverweise wie oben in separaten Variablen speichern. Bis jetzt hast du recht/richtig.
Als nächstes müssen Sie sie wie folgt verwenden:
$ENROLLEES->query();
$ENROLLEES->result();
und
$ACCOUNTS->query();
$ACCOUNTS->result();
Anstatt zu verwenden
$this->db->query();
$this->db->result();
Sehen Sie sich dies als Referenz an: http://ellislab.com/codeigniter/user-guide/database/connecting.html
http://www.bsourcecode.com/codeigniter/codeigniter-select-query/
$query = $this->db->query("select * from tbl_user");
OR
$query = $this->db->select("*");
$this->db->from('table_name');
$query=$this->db->get();
return $this->db->select('(CASE
enter code hereWHEN orderdetails.ProductID = 0 THEN dealmaster.deal_name
WHEN orderdetails.DealID = 0 THEN products.name
END) as product_name')
$ this-> db-> select ('ID, Name, Preis, Autor, Kategorie, Sprache, ISBN, publish_date');
$this->db->from('tbl_books');