0

クライアントの最新の購入を取得できる推進クエリを構築する必要があります

回答には次のテーブル/列名を使用してください。

  • 顧客: ID、名前
  • 購入: id、customer_id、日付

from this question here SQL 結合: 1 対多の関係で最後のレコードを選択する

これらのクエリのいずれかに基づいて推進クエリを構築する必要があります。

SELECT c.*, p1.*
FROM customer c
JOIN purchase p1 ON (c.id = p1.customer_id)
LEFT OUTER JOIN purchase p2 ON (c.id = p2.customer_id AND 
    (p1.date < p2.date OR p1.date = p2.date AND p1.id < p2.id))
WHERE p2.id IS NULL;

また

SELECT  c.*, p.*
FROM    customer c INNER JOIN
        (
            SELECT  customer_id,
                    MAX(date) MaxDate
            FROM    purchase
            GROUP BY customer_id
        ) MaxDates ON c.id = MaxDates.customer_id INNER JOIN
        purchase p ON   MaxDates.customer_id = p.customer_id
                    AND MaxDates.MaxDate = p.date
4

1 に答える 1