1

顧客の最新の販売注文を返すクエリを作成したいと思います。

IDで結合されたCustomersテーブルとOrdersテーブルがあり、すべての値を返すために次のクエリを実行しました。各IDの最新の値のみを返すように変更するのを手伝ってもらえますか?Orders.created_atは、次のようにフォーマットされていますyyyy-MM-dd HH:mm:ss

SELECT Customers.ID, Customers.Name, Customers."Sales Responsible US", Customers."Sales     Responsible", Customers."Website", ISNULL(Orders.row_invoiced, '-1'), Orders.status, Orders.created_at
FROM "Customers"
LEFT JOIN Orders
On Customers.ID=Orders.customer_id
4

4 に答える 4

0

こんにちはこれがあなたの要件を実行することを願っています

SELECT Customers.ID, Customers.Name, Customers."Sales Responsible US", Customers."Sales     Responsible", Customers."Website", ISNULL(Orders.row_invoiced, '-1'), Orders.status, MAX(Orders.created_at)
FROM "Customers"
LEFT JOIN Orders
On Customers.ID=Orders.customer_id 
GROUP BY Orders.customer_id
于 2012-11-15T09:29:34.403 に答える
0

入れてみて、作成したオーダーにMAX。顧客 ID でグループ化します。(打ち間違え)

PS: 私は携帯電話を使用しています。コード スニペット形式はありません。

于 2012-11-15T09:17:07.660 に答える
0

これを試して ::

   SELECT Customers.ID, 
Customers.Name, 
Customers."Sales Responsible US", 
Customers."Sales     Responsible", 
Customers."Website", 
IFNULL(Orders.row_invoiced, '-1'), 
Orders.status, MAX(Orders.created_at)
    FROM "Customers"
    LEFT JOIN Orders On Customers.ID=Orders.customer_id

    group by Orders.customer_id
于 2012-11-15T09:17:58.457 に答える
0

max(created_at)各顧客 ( )の最新 ( ) 注文日を取得するサブクエリに、既に必要なすべてのものを結合しますgroup by customer_id

SELECT Customers.ID, 
    Customers.Name, 
    Customers."Sales Responsible US", 
    Customers."Sales     Responsible", 
    Customers."Website", 
    ISNULL(Orders.row_invoiced, '-1'), 
    Orders.status, 
    Orders.created_at
FROM "Customers"
LEFT JOIN Orders On Customers.ID=Orders.customer_id
left join (
    select customer_id, max(created_at) as created_at
    from Orders 
    group by customer_id
) as t on Orders.customer_id = t.customer_id and Orders.created_at = t.created_at
于 2012-11-15T09:18:46.183 に答える