1

1 つのデータベースに 2 つのテーブルがあります。

例えば:

Table 1 Columns:
id | code | name

Table 2 Columns:
id | code | family | etc.

重複するコード列に基づいて両方のテーブルをクエリして、ファミリ列を取得するにはどうすればよいですか?

これは私が現在持っているものです:

$query = $this->db
    ->select('*')
    ->from('table 1')
    ->where('code', '123');

$query->get()->result();

上記のクエリはコード 123 の行を取得しますが、テーブル 2 から対応するファミリ データを取得したいのですが、どうすればよいですか?

4

2 に答える 2

4

join() を使用します。何かのようなもの:

$query = $this->db
    ->select('*')
    ->from('table1')
    ->join('table2', 'table1.code = table2.code')
    ->where('code', '123');

関数に関するドキュメントはこちら: http://ellislab.com/codeigniter/user-guide/database/active_record.html#select

于 2013-10-15T22:33:46.360 に答える
0

文 Join を追加する必要があります。これにより、2 つのテーブルにクエリを実行できます。

$dataquery = array('table1.code' => '123'); //var in order to where
$this->db->select('table1.id As id1, table2.id As id2') //separate the ids with names
$this->db->join('table2.code','tabla1.code'); //code is overlapping
$query = $this->db->get_where('table1',$dataquery);

return $query->get()->result_array();//Return array if you want

乾杯!

于 2013-10-16T02:02:24.883 に答える