0
votes

Comment obtenir les derniers enregistrements de chaque banque_id dans la jointure

J'utilise le codeignier, j'ai une requête qui ne fonctionne pas. J'ai 3 tables qui appelaient tbl_lead, tbl_bankdata, tbl_payment_invoice . Il n'y a pas de problème avec deux tables jointes. Je reçois le problème sur la table tbl_payment_invoice .

Le problème est que je insère l'état du paiement dans la table tbl_payment_invoice . Il peut s'agir de multiples statuts de la banque_id.

Je dois afficher le dernier statut de l'utilisateur à partir de tbl_payment_invoice .

TBL_PAYMENT_INVOICE SORPTURE xxx

ma sortie attendue est à partir de cette table est xxx

Je dois afficher les derniers enregistrements de la banque_id. < p> Souhaitez-vous m'aider à utiliser comment utiliser avec rejoindre? xxx


5 commentaires

tbl_payment_invoice n'est pas dans votre liste de sélection ou de jointure! Sa seule utilisée dans la sélection interne


Essayez ceci -> Joindre (Sélectionnez (Sélectionnez Bank_Id, max (Paiement_invoice), max (Paiement_invoice_date) comme DaysofaDedded, Paiement_invoice du groupe TBL_PAYMENT_INVOICE par bank_id) comme p_i ',' tbl_bankdata.bank_id = p_i.bank_id ', "laissé", " )


@Riggsfolly, oui, ce n'est pas dans la liste de joints. Je reçois des problèmes dans la dernière jointure. Je dois chercher les enregistrements de tbl_payment_invoice


@HARSHWARDHANSHARMA, donnez-moi un jour à vérifier


@HARSHWARDHANSHARMA, j'ai essayé mais j'ai le même problème.


4 Réponses :


0
votes

Je change max (paiditionnement_invoice) strong> à max (Paiement_invoice) comme paiement_invoice strong>, je pense que cette torsion servira ..

$result = $this->db->select('*')
        ->from('tbl_lead')
        ->join('tbl_bankdata','tbl_lead.c_id=tbl_bankdata.lead_id','LEFT')
        ->join('tbl_bankname','tbl_bankname.b_id=tbl_bankdata.b_bankname')
        ->join('(select bank_id, max(payment_invoice) as payment_invoice, max(payment_invoice_date) as dateofadded from tbl_payment_invoice group by bank_id) as p_i','tbl_bankdata.bank_id=p_i.bank_id','LEFT')
        ->where($or_where)
        ->order_by('tbl_lead.date_of_created','DESC')
        ->get()
        ->result();

        print_r($result);


1 commentaires

Ça ne fonctionne pas. Je reçois la même erreur. tbl_payment_invoice n'est pas dans ma sélection ou rejoindre la liste. J'ai besoin de savoir comment puis-je ajouter ça



0
votes

-> rejoindre (Sélectionnez Bank_Id, max (Paiement_invoice), max (Paiement_invoice_date) comme DateOfadded du groupe TBL_PAYMENT_INVOICE par Bank_ID) comme p_i ',' tbl_bankdata.bank_id = p_i.bank_id ', "GAUCHE").

Modifier le max (Paiement_invoice) à Paiement_invoice et où la requête doit être en tant que p_i.payment_invoice = '' parce que vous créez une table Temp P_I de votre sous-requête.


5 commentaires

Donne-moi du temps. Il y a un problème de pouvoir chez moi.


Je reçois le même problème. Peux-tu m'aider?


Veuillez partager la requête en utilisant $ ceci -> dB -> last_query ();


Changer simplement ces lignes: Si ($ ceci -> session -> userData ['login_session'] ['Access_role'] == 5) {$ ou_where = "tbl_bankdata.b_fileestatus = 1 et p_i.payment_invoice = 1 et createby = '" . $ Ceci -> Session -> userData ['login_session'] ['ID']. "'"; } else {$ ou_where = "tbl_bankdata.b_fileestatus = 1 et p_i.payment_invoice = 1"; } -> Joindre ('(Sélectionnez Bank_ID, max (Paiement_invoice) en tant que Paiement_invoice, max (Paiement_invoice_date) comme DateOfadedded du groupe TBL_PAYMENT_INVOICE par Bank_ID) comme p_i', 'tbl_bankdata.bank_id = p_i.bank_id', "laissé")


Je change la question. Pouvez-vous m'aider



0
votes

Vous modifiez le nom de la table et essayez ce code ...... XXX


1 commentaires

Cette réponse est-elle pour moi?



0
votes

Essayez ceci xxx


0 commentaires