-4

表1

house_id|house_name|status

  1     |     A    |  1
  2     |     B    |  1
  3     |     C    |  0
  4     |     D    |  1
  5     |     E    |  1
  6     |     F    |  1

表1

house_id| image

   2    | img1.jpg
   2    | img2.jpg
   1    | img3.jpg
   4    | img4.jpg
   1    | img5.jpg
   4    | img6.jpg
   3    | img7.jpg

table1 の house_id ごとに、 status =1 (降順) の table1 からすべての house_id を選択し、table2 から個別の画像を選択します。

最後に次の出力を表示します。

出力

house_id|house_name|image

   6    |    F     |NULL
   5    |    E     |NULL
   4    |    D     |img4.jpg
   2    |    B     |img1.jpg  
   1    |    A     |img3.jpg  

通常のmysqlまたはCIアクティブレコードクラスメソッドでコーディングするのを手伝ってください..

4

1 に答える 1

3

これを試してみてください....(通常のmysql)

SELECT t1.*,t2.image FROM table1  t1
LEFT JOIN table2 t2 on t1.house_id=t2.house_id
WHERE t1.status= 1 GROUP BY t1.house_id ORDER BY house_id desc

アクティブレコード...

$this->db->select(t1.*,t2.image);
$this->db->from('table1'.' t1');
$this->db->join('table2'.' t2','t1.house_id=t2.house_id','left');
$this->db->where('t1.status',1);
$this->db->group_by("t1.house_id"); 
$this->db->order_by("house_id");
于 2012-09-30T07:02:25.543 に答える