Codeigniter 中的 LEFT JOIN 显示语法错误
LEFT JOIN in Codeigniter shows syntax error
我想要 select 一个 table 来保存特定项目 ID 的所有问题。为此,我计划进行 LEFT JOIN 并将项目 table 中的 projects_id 获取到问题 table 中的列 'issues_projects_id'。这里不是必须用JOIN
吗?
// $this->db->join('issues', 'issues.issues_projects_id = projects.projects_id', 'left');
// $query1 = $this->db->get();
$squery="SELECT * FROM projects LEFT JOIN issues ON issues.issues_projects_id=projects.projects_id";
$query1= $this->db->query($squery);
$query= $this->db->query($squery);
return $query->result();
return $query1->result();
上面的代码显示以下错误并且没有输出。
A Database Error Occurred
Error Number: 1064
You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'LEFT JOIN `issues` ON `issues`.`issues_projects_id` = `projects`.`projects_id`' at line 2
SELECT * LEFT JOIN `issues` ON `issues`.`issues_projects_id` = `projects`.`projects_id`
Filename: C:/wamp64/www/projects/issue_tracker/system/database/DB_driver.php
Line Number: 691
项目 Table
projects_id
projects_name
1
abc
2
xyz
问题 Table
issues_id
issues_description
问题_projects_id
1
gfj
1
2
fghgj
1
你错过了from statement
:
SELECT *
FROM `projects` --< here
LEFT JOIN `issues`
ON `issues`.`issues_projects_id` = `projects`.`projects_id`
WHERE projects_id = ?
您似乎是在自行加入 table 问题,这样做不会为您提供您似乎需要的所有数据。
最好的做法是不要使用 select *
,而是写下所有必需的列名。
SELECT `Projects_id`, `projects_name`, `issues_id`, `issues_description`, `issues_projects_id`
from `projects`
LEFT JOIN `issues` ON `issues`.`issues_projects_id` = `projects`.`projects_id`
我想要 select 一个 table 来保存特定项目 ID 的所有问题。为此,我计划进行 LEFT JOIN 并将项目 table 中的 projects_id 获取到问题 table 中的列 'issues_projects_id'。这里不是必须用JOIN
吗?
// $this->db->join('issues', 'issues.issues_projects_id = projects.projects_id', 'left');
// $query1 = $this->db->get();
$squery="SELECT * FROM projects LEFT JOIN issues ON issues.issues_projects_id=projects.projects_id";
$query1= $this->db->query($squery);
$query= $this->db->query($squery);
return $query->result();
return $query1->result();
上面的代码显示以下错误并且没有输出。
A Database Error Occurred
Error Number: 1064
You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'LEFT JOIN `issues` ON `issues`.`issues_projects_id` = `projects`.`projects_id`' at line 2
SELECT * LEFT JOIN `issues` ON `issues`.`issues_projects_id` = `projects`.`projects_id`
Filename: C:/wamp64/www/projects/issue_tracker/system/database/DB_driver.php
Line Number: 691
项目 Table
projects_id | projects_name |
---|---|
1 | abc |
2 | xyz |
问题 Table
issues_id | issues_description | 问题_projects_id |
---|---|---|
1 | gfj | 1 |
2 | fghgj | 1 |
你错过了from statement
:
SELECT *
FROM `projects` --< here
LEFT JOIN `issues`
ON `issues`.`issues_projects_id` = `projects`.`projects_id`
WHERE projects_id = ?
您似乎是在自行加入 table 问题,这样做不会为您提供您似乎需要的所有数据。
最好的做法是不要使用 select *
,而是写下所有必需的列名。
SELECT `Projects_id`, `projects_name`, `issues_id`, `issues_description`, `issues_projects_id`
from `projects`
LEFT JOIN `issues` ON `issues`.`issues_projects_id` = `projects`.`projects_id`