首页 > 解决方案 > Codeigniter 中的 LEFT JOIN 显示语法错误

问题描述

我想选择一个包含特定项目 ID 的所有问题的表。为此,我计划进行 LEFT JOIN 并将 Projects 表中的 projects_id 获取到问题表中的“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

项目

项目ID 项目名称
1 美国广播公司
2 xyz

问题

问题_id 问题描述 问题_项目_id
1 gfj 1
2 fghgj 1

标签: mysqlcodeigniterleft-join

解决方案


你失踪了from statement

SELECT * 
FROM `projects` --< here 
LEFT JOIN `issues` 
  ON `issues`.`issues_projects_id` = `projects`.`projects_id`
WHERE projects_id = ?

推荐阅读