私は2つのテーブルを顧客と注文があり、以下はその構造です。MySQL - 最初のテーブルと一致する2番目のテーブルの最後のレコードを選択
表 - 顧客
- ID
- CUSTOMER_NAME
表 - 注文
- ID
- ORDER_ID
- CUSTOMER_ID
顧客テーブルの顧客レコードと注文テーブルは、顧客からの注文を持って、
は、顧客テーブルのIDフィールドにリンクされている受注テーブルにをCUSTOMER_IDています。
1人の顧客がゼロまたは1つ以上の注文を持つことができます。顧客が最後に注文した注文を受け取りたいと思います。私は、単純な目に見えないが、参加次のクエリを実行すると
が、それは私も文を登録しようが、顧客によって最後の順序を取得することはできません異なる試してみましたが、顧客
SELECT customers.customer_name,orders.order_id FROM orders,customers WHERE orders.customer_id=customers.id
ですべての注文を返し、私はしたいですすべての顧客のための1つのSQLクエリでそれを入手してください。
ご協力いただきありがとうございます。
は、あなたの迅速な応答をありがとうorder_idがランダムであれば動作しませんが、これは私が探しているものに最も近いものです。 – Alyas
私はそれを以下のように解決しました。 'SELECT c.customer_name、o.customer_id、o.order_id、o.id FROM customers c INNER JOINオーダーo.id = (SELECT id FROM orders WHERE customer_id = c.id ORDER BY id DESC LIMIT 1 ) ' – Alyas
はい、order_idがランダムな場合は動作しません。その後、order_dateを取得して最新の注文を見つけることができる日付フィールドを持つ必要があります。 – Meherzad