簡體   English   中英

從多個獲取每個用戶的最新記錄

[英]Get latest record from multiple for each user

我有多個交易的受益人。 我要在主頁上顯示客戶創建的最新交易。 因此,最新交易的受益人應放在金額詳細信息之上。 我已經創建了類似這樣的查詢。 但是它不會顯示最新的交易。

$clause = "SELECT b.*, tran.transfer_amount, tran.date_added as tran_date_added
           FROM beneficiary b
           LEFT JOIN customer_beneficiary_mapping cbm ON b.id = cbm.ben_id
           LEFT JOIN
            (SELECT ben_id, transfer_amount, date_added
             FROM transaction
             GROUP BY ben_id
             ) tran
            ON tran.ben_id = b.id
            INNER JOIN system_country_list scl ON scl.country_id = b.ben_country
            AND cbm.cus_id = '$cus_id'
            ORDER BY tran.date_added DESC
            ";

也許這可行:

SELECT b.*, tran.transfer_amount, tran.date_added as tran_date_added
FROM beneficiary b
LEFT JOIN customer_beneficiary_mapping cbm ON b.id = cbm.ben_id
LEFT JOIN
    (SELECT ben_id, transfer_amount, date_added
     FROM transaction
     GROUP BY ben_id
     ) tran
ON tran.ben_id = b.id
AND tran.date_added = (SELECT MAX(date_added) FROM transaction WHERE ben_id = b.id)
INNER JOIN system_country_list scl ON scl.country_id = b.ben_country
AND cbm.cus_id = '$cus_id'
ORDER BY tran.date_added DESC

請注意,我只是在where子句中添加了一個子選擇: AND tran.date_added = (SELECT MAX(date_added) FROM transaction WHERE ben_id = b.id)

我找到了解決方案。 如果有人需要,我會發布答案,而不是刪除問題。

$clause = "SELECT b.*, tran.transfer_amount, tran.date_added as tran_date_added
       FROM beneficiary b
       LEFT JOIN customer_beneficiary_mapping cbm ON b.id = cbm.ben_id
       LEFT JOIN
        (SELECT ben_id, transfer_amount, date_added
         FROM transaction
         GROUP BY ben_id
         ORDER BY 1 DESC        <----- Added this line
         ) tran
        ON tran.ben_id = b.id
        INNER JOIN system_country_list scl ON scl.country_id = b.ben_country
        AND cbm.cus_id = '$cus_id'
        ORDER BY tran.date_added DESC
        ";

我仍然不知道,它現在如何運作。 我之前也嘗試過使用ORDER BY date_added DESC 但是,它沒有用。 無論如何,它現在正在工作。 :)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM