0

2 つのテーブルがあり、1 つは顧客用、もう 1 つは支払い用です。

特定の基準を持つ顧客からの最新の支払いが必要です。その specific_criteria のクエリを作成しました)

select top 1 *
from payments
where id in (select id from specific_criteria);

明らかに、それは 1 行だけを返します。

私は実際にこのデータベースに VB コードを書くことはできません。

顧客ごとの最新の支払いを取得する SQL コードを探しています。

4

2 に答える 2

1
SELECT c.*,
       p.*
FROM Customers c
     INNER JOIN
     Payments p ON p.Customer_ID=c.ID
WHERE p.ID IN (SELECT p2.ID FROM
               (SELECT p1.ID, MAX(p1.payment_date)
               FROM Payments p1
               GROUP BY p1.ID) AS p2)
于 2013-01-11T06:49:50.157 に答える
0

このようなものは機能しますか?

select c.*, (
    select top 1 p.*
    from payments p
    where p.customer_id = c.id
    order by p.payment_date desc )
from customers c
where customer_critera
于 2013-01-11T06:23:29.643 に答える