2013-10-28 7 views
6

を使用している私は次のように2台を持っている:を選択し、カウントし、CodeIgniterのとMySQL

- tblSaler 

    SalerID | SalerName | 
    ----------------------| 
    1  | sothorn | 
    ----------------------| 
    2  | Daly  | 
    ----------------------| 
    3  | Lyhong | 
    ----------------------| 
    4  | Chantra | 
    ----------------------| 

- tblProduct 

ProductID | Product | SalerID | 
--------------------------------| 
1   | Pen  | 3  | 
--------------------------------| 
2   | Book  | 2  | 
--------------------------------| 
3   | Phone | 3  | 
--------------------------------| 
4   | Computer | 1  | 
--------------------------------| 
5   | Bag  | 3  | 
--------------------------------| 
6   | Watch | 2  | 
--------------------------------| 
7   | Glasses | 4  | 
--------------------------------| 

私は必要な結果は次のとおりです。

$this->db->select('count(SalerName) as sothorn where tblSaler.SalerID = 1, count(SalerName) as Daly where tblSaler.SalerID = 2, count(SalerName) as Lyhong where tblSaler.SalerID = 3, count(SalerName) as Chantra where tblSaler.SalerID = 4'); 
    $this->db->from('tblSaler'); 
    $this->db->join('tblProduct', 'tblSaler.SalerID = tblProduct.SalerID'); 

sothorn | 1 
Daly | 2 
Lyhong | 3 
Chantra | 1 

私はこれを試してみました

答えて

9

下の行を使用して全体のSQLクエリを取得することができ、アクティブレコードは、この

$select = array(
       'tblSaler.SalerName', 
       'count(tblProduct.ProductID) as Total' 
      ); 
$this->db 
     ->select($select) 
     ->from('tblSaler') 
     ->join('tblProduct','roduct.SalerID = tblSaler.SalerID','left') 
     ->group_by('tblSaler.SalerID') 
     ->get() 
     ->result_array(); 
のためであります

Demo

OUTPUT

| SALERNAME | TOTAL | 
|-----------|-------| 
| sothorn |  1 | 
|  Daly |  2 | 
| Lyhong |  3 | 
| Chantra |  1 |   
2

お試しください

$this->db->select('SalerName, count(*)'); 
$this->db->from('tblSaler'); 
$this->db->join('tblProduct', 'tblSaler.SalerID = tblProduct.SalerID'); 
$this->db->group('SalerID'); 
3

このコードを試してください。それは私のために働く罰金であり、それはまたあなたを助けるでしょう。

$this->db->select('SalerName, count(*)'); 
$this->db->from('tblSaler');   
$this->db->join('tblProduct', 'tblSaler.SalerID = tblProduct.SalerID'); 
$this->db->group_by('tblSaler.SalerID');  
$query = $this->db->get(); 

あなたは、あなたがこの

SELECT 
    tblSaler.SalerName, 
    count(tblProduct.ProductID) as Total 
FROM tblSaler 
    LEFT JOIN tblProduct 
    ON tblProduct.SalerID = tblSaler.SalerID 
GROUP BY tblSaler.SalerID 

そして、ここでは、このクエリを使用することができます

$query = $this->db->get(); 
echo $this->db->last_query(); 
0
## try this ## 
    $this->db->select($column_name); 
    $this->db->where($column_name,$type); 
    $q=$this->db->get($table_name); 
    $count=$q->result(); 
    return count($count);' 
関連する問題