【发布时间】:2016-01-08 16:26:58
【问题描述】:
希望以一对多关系获取所有服务 我的代码是
$this->db->select('*');
$this->db->from('service');
$this->db->join('user', 'user.user_email = service.user_email', 'inner');
$this->db->join('service', 'service.user_email = user.user_email', 'inner');
$query = $this->db->get();
但它给了我一个错误
Error Number: 1066
Not unique table/alias: 'service'
SELECT * FROM (`service`) INNER JOIN `user` ON `user`.`user_email` = `service`.`user_email` INNER JOIN `service` ON `service`.`user_email` = `user`.`user_email`
Filename: C:\xampp\htdocs\service\system\database\DB_driver.php
如果我不这样做
$this->db->from('service');
然后它给出语法错误
Error Number: 1064
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'INNER JOIN `user` ON `user`.`user_email` = `service`.`user_email` INNER JOIN `se' at line 2
SELECT * INNER JOIN `user` ON `user`.`user_email` = `service`.`user_email` INNER JOIN `service` ON `service`.`user_email` = `user`.`user_email`
Filename: C:\xampp\htdocs\service\system\database\DB_driver.php
【问题讨论】:
-
您从
service中选择,然后再次加入service(加入user之后)有什么原因吗? -
stackoverflow.com/questions/19590007/… 关注此。你会得到你的答案。您正在选择样本表两次。
-
但是它给出了一个语法错误
标签: php mysql codeigniter join inner-join