0

2 つのテーブルがあり、これら 2 つのテーブルの結果を結合したいのですが、私の条件は次のとおりです。

メンバー表
+--------+---------+--------+---------------------- +
| | a_id | 名前 | アクティブ | 日付 |
+--------+---------+--------+---------------------- +
| | 1 | ダ・ヴィンチ | 1 | 2012-03-27 15:40:14 |
| | 2 | モネ | モネ | 0 | 2012-04-16 01:14:17 |
| | 3 | ヴァン・ゴッホ | 0 | 2012-03-22 15:49:59 |
| | 4 | ピカソ | 1 | 2012-02-27 09:40:05 |
| | 5 | ルノワール | 1 | 2012-04-22 15:40:14 |
+--------+---------+--------+---------------------- +

購入表
+------+------+-------------------+--------------- ------+-------+
| | a_id | p_id | タイトル | 購入日 | 価格 |
+------+------+-------------------+--------------- ------+-------+
| | 1 | 1 | 最後の晩餐 | 最後の晩餐 2012-03-27 15:40:14 | 34 |
| | 1 | 2 | モナリザ | 写真 モナリザ 2012-04-27 15:40:14 | 87 |
| | 3 | 3 | 星月夜 | 2012-03-27 15:40:14 | 48 |
| | 3 | 4 | ポテトイーターズ | ポテトイーターズ 2012-03-27 15:40:14 | 67 |
| | 3 | 5 | ザ・ロックス | 2012-03-27 15:40:14 | 33 |
| | 5 | 6 | レ ドゥ スール | 2012-04-30 15:40:14 | 64 |
+------+------+-------------------+--------------- ------+-------+

上記のテーブルから、最近の 2 人のアクティブなメンバー (メンバー テーブル) と、購入テーブルから行われた最後の 1 つの購入を見つけたいと考えています。その結果は次のようになります。

+------+------+-------------------+--------------- ------+-------+
| | a_id | p_id | タイトル | 購入日 | 価格 |
+------+------+-------------------+--------------- ------+-------+
| | 1 | 2 | モナリザ | 写真 モナリザ 2012-04-27 15:40:14 | 87 |
| | 5 | 6 | レ ドゥ スール | 2012-04-30 15:40:14 | 64 |
+------+------+-------------------+--------------- ------+-------+

この質問に対する答えを見つけるために何時間も試みましたが、解決策は見つかりませんでした。私を助けてください。

ご支援いただきありがとうございます。

4

1 に答える 1

1

試す

SELECT a.a_id, p.p_id, p.title, p.purchase_date, p.price 
FROM Member a LEFT JOIN Purchase p ON a.a_id = p.a_id 
WHERE a.Active = 1 
ORDER BY a.Date DESC LIMIT 2

変化する

ORDER BY a.Date DESC

ORDER BY a.Date DESC, p.purchase_date DESC
于 2012-07-13T16:44:52.830 に答える