我有一个查询,需要查询该记录是否将其包括在查询中之前,该记录是否仍处于活动状态。现在我的问题是该记录的记录状态在另一个数据库中,我们都知道我们无法联接来自不同数据库的表。
我想要做的是从另一个数据库创建一个视图,然后将该视图加入我的查询中。问题是如何在CodeIgniter中创建视图并从中选择数据?
提前致谢。
顺便说一句,我不是设计数据库的人。 -公司定义-
这是我查询的一个示例,由于它包含很多表,因此它不是确切的示例。希望我能告诉您我要做什么。
SELECT count(IDNO), course, sum(student_balance) FROM student_balances WHERE school_term = '2013' AND student_balance > 0 GROUP BY course ORDER BY course
无论是否注册,都会选择那里的所有学生记录。有一个 表格 包含本 学年 的在 校 学生 ,该表格 来自另一个数据库 。我只想统计已注册的学生的记录。
我们都知道我们无法联接来自不同数据库的表
无论如何,您不需要使用联接。只是查询其他数据库以查看该事物是否处于活动状态
$DB2 = $this->load->database('otherdb', TRUE); $active = $DB2->query('SELECT is_active blah...'); if($active) { //do other query }
这可能在语法上是不正确的,但应该为您指明正确的方向。与往常一样,用户指南。
// load other db $db2 = $this->load->db('otherdb',TRUE); // get enrolled student id's from other db $active_students = $db2->query('SELECT id FROM students WHERE enrolled = 1')->result(); // query this db for what you want $this->db->select('count(IDNO), course, sum(student_balance)'); $this->db->where('school_term',2013); $this->db->where('student_balance >',0); // where_in will limit the query to the id's in $active_students $this->db->where_in('id', $active_students); // finally, execute the query on the student_balances table $balances = $this->db->get('student_balances');