I have an issue when running this query :
SELECT COUNT(Log_ns.n_s)
FROM Log_ns
WHERE Log_ns.id_produit = Magasins.produit_id
AND DATE(Log_ns.created_at) = DATE(Magasins.created_at)) as qte_ins
The problem is that when I remove one of the conditions the query works fine but when combining both it gives me 0 results.
This is my full code :
$pro = Log_ns::join('Magasins', function($join)
{
$join->on('Log_ns.id_produit', '=', 'Magasins.produit_id');
//->where(DB::raw('DATE(Log_ns.created_at)'),'=', DB::raw('DATE(Magasins.created_at)'));
})
->join('Produits', 'Produits.id', '=', 'Magasins.produit_id')
->select([
'Magasins.id', 'Log_ns.created_at', 'Produits.kit', 'Produits.produit', 'Produits.modele',
DB::raw('(SELECT Magasins.qte_ret FROM Magasins WHERE Log_ns.id_produit = Magasins.produit_id AND DATE(Log_ns.created_at) = DATE(Magasins.created_at)) as qte_ret,
(SELECT Magasins.qte FROM Magasins WHERE Log_ns.id_produit = Magasins.produit_id AND DATE(Log_ns.created_at) = DATE(Magasins.created_at)) as qte,
(SELECT COUNT(Log_ns.n_s) FROM Log_ns WHERE Log_ns.id_produit = Magasins.produit_id AND DATE(Log_ns.created_at) = DATE(Magasins.created_at)) as qte_ins,
(SELECT COUNT(Reparations.n_s) FROM Reparations WHERE Reparations.n_s = Log_ns.n_s AND DATE(Log_ns.created_at) = DATE(Reparations.created_at)) as qte_rep,
(SELECT SUM(qte) FROM Magasins WHERE Magasins.produit_id = Log_ns.id_produit) AS qte_glob_mp,
(SELECT COUNT(Log_ns.n_s) FROM Log_ns WHERE Log_ns.id_produit = Magasins.produit_id) as qte_glob_pro'),
])
->groupBy(DB::raw('DATE(Log_ns.created_at)'))->distinct();
via Chebli Mohamed
Aucun commentaire:
Enregistrer un commentaire