0

私はいくつかのテーブルを持っており、関係は次のようになります

画像

そして、これら2つのテーブルのすべてのレコードを取得したい. だから私は自分のモデルでこのクエリを使用します

 $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

あなたのfromには、。*があるべきではありません。

すなわち

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

結合するテーブルを追加する場合は、からテーブルを追加する必要はありません。

だからそれは

 $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('*');
$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 に答える
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 に答える