0

我有一些桌子,关系是这样的

图像

我想获得这两张桌子的所有记录。所以我在我的模型中使用这个查询

 $this->db->select('*');
    $this->db->from('ms_Kategori_Material.*,ms_Material_Jasa.*');
    $this->db->join('ms_Material_Jasa', 'ms_Kategori_Material.Kode_Kategori_Material_Jasa = ms_Material_Jasa.Kode_Kategori_Material_Jasa');
    $result = $this->db->get();

    $table = $this->db->get();
    return $table;

然后我得到了错误

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 '*, `ms_Material_Jasa`.*) JOIN `ms_Material_Jasa` ON `ms_Kategori_Material`.`Kode' at line 2

SELECT * FROM (`ms_Kategori_Material`.*, `ms_Material_Jasa`.*) JOIN `ms_Material_Jasa` ON `ms_Kategori_Material`.`Kode_Kategori_Material_Jasa` = `ms_Material_Jasa`.`Kode_Kategori_Material_Jasa`

为什么我无法阅读所需的表格?

4

3 回答 3

1

在你的从,不应该有一个。*,

IE

    $this->db->from('ms_Kategori_Material','ms_Material_Jasa');

如果您添加要加入的表,则无需将其添加到 from。

所以它变成了

 $this->db->from('ms_Kategori_Material');
 $this->db->join('ms_Material_Jasa','....');

最终查询:

 $this->db->select('*');
    $this->db->from('ms_Kategori_Material');
    $this->db->join('ms_Material_Jasa', 'ms_Kategori_Material.Kode_Kategori_Material_Jasa = ms_Material_Jasa.Kode_Kategori_Material_Jasa');
    $result = $this->db->get();

    $table = $this->db->get();
    return $table;
于 2012-10-16T01:12:16.353 回答
0

你可以试试这个(加入并从两个表中选择字段)

$this->db->select('ms_Kategori_Material.*, ms_Material_Jasa.*');
$this->db->from('ms_Kategori_Material');
$this->db->from('ms_Material_Jasa');
$this->db->join('ms_Material_Jasa', 'ms_Kategori_Material.Kode_Kategori_Material_Jasa = ms_Material_Jasa.Kode_Kategori_Material_Jasa');
$table = $this->db->get();
return $table->result();
于 2012-10-16T01:28:39.387 回答
0
$this->db->select('*');
$this->db->from('ms_Kategori_Material'); // full table name
$this->db->join('ms_Material_Jasa', 'ms_Kategori_Material.Kode_Kategori_Material_Jasa = ms_Material_Jasa.Kode_Kategori_Material_Jasa');

$result = $this->db->get();
//print_r($this->db->last_query()); display raw sql

$print_r($result->result_array());

阅读更多@ http://codeigniter.com/user_guide/database/active_record.html

于 2012-10-16T01:19:28.970 回答