Я искал и искал, и не могу решить эту проблему: у нас есть три таблицы, в которых есть данные, которые мне нужно собрать и показать в виде.
SELECT
C.FirstName, C.LastName,
aspnet_Membership.LoweredEmail,
MAX(Bill.Code) AS BCodes,
MAX(Bill.BillDate)
FROM
dbo.Client C
INNER JOIN
dbo.Bill ON C.Id = Bill.BId
INNER JOIN
dbo.aspnet_Membership ON aspnet_Membership.UserId = C.UserGUID
WHERE
((Bill.Code='ASDF'
OR Bill.Code='XYZ'
OR Bill.Code='QWE'
OR Bill.Code='JKL')
AND C.LastName!='Unassigned')
GROUP BY
LastName, FirstName, LoweredEmail, Code, BDate
Таблица клиента имеет: FirstName LastName and UserGuid
Таблица счетов имеет: BCode, BillDate
Таблица aspnet_Membership имеет: E-mail, UserId
РЕЗУЛЬТАТЫ:
FirstName LastName E-mail BCode BillDate
FName1 Lname1 fname@isp.com XYZ 2010-05-13 00:00:00.000
Fname2 Lname2 fname2@isp2.com XYZ 2010-06-05 00:00:00.000
Fname2 Lname2 fname2@isp2.com ASD 2008-09-17 12:01:45.407
Как вы можете видеть, Fname2
появляется дважды, разница только в BCode
и BillDate
.
Как я могу сделать это с самой последней датой, чтобы я получил Fname2
запись с Bcode XYZ с датой 2010-06-05.
Любая помощь будет оценена, спасибозаранее.