J'ai deux table comme suit:
- 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 |
--------------------------------|
Le résultat dont j'ai besoin est:
sothorn | 1
Daly | 2
Lyhong | 3
Chantra | 1
J'ai essayé ceci:
$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');
Vous pouvez utiliser cette requête pour cela
SELECT
tblSaler.SalerName,
count(tblProduct.ProductID) as Total
FROM tblSaler
LEFT JOIN tblProduct
ON tblProduct.SalerID = tblSaler.SalerID
GROUP BY tblSaler.SalerID
Et voici le record actif pour cette
$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();
SORTIE
| SALERNAME | TOTAL |
|-----------|-------|
| sothorn | 1 |
| Daly | 2 |
| Lyhong | 3 |
| Chantra | 1 |
S'il vous plaît essayez ce code. Cela fonctionne bien pour moi et cela vous aidera également.
$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();
Vous pouvez obtenir une requête SQL complète en utilisant cette ligne ci-dessous
$query = $this->db->get();
echo $this->db->last_query();
Essaye ça
$this->db->select('SalerName, count(*)');
$this->db->from('tblSaler');
$this->db->join('tblProduct', 'tblSaler.SalerID = tblProduct.SalerID');
$this->db->group('SalerID');
## 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);'