|
|
|
Junior Member
      
участник
Last Login: 22.12.2006 20:05
Сообщ.: 10,
Visits: 93
|
|
| Всем здоровья. База аксес 97. 2 таблицы: клиенты и заказы Client [ClientID] [sName] [sAdres] Zakaz [ZakazID] [ClientID] [DateIn] [Summa] Необходимо получить примерно следующее: [ClientID],[sName],[sAdres],[ZakazID],[DateIn],[Summa] Все было бы хорошо и просто, если бы не: по каждому клиенту нужно получить только 2 последних его заказа. Т.е.: 1, Одуванчик, Москва, 18, 10.12.2006, 800 1, Одуванчик, Москва, 20, 12.12.2006, 600 2, Ромашка, Москва, 17, 08.12.2006, 400 2, Ромашка, Москва, 21, 13.12.2006, 650 и т.д. Помогите, пожалуйста, составить SQL строку, чтобы ее можно было использовать не только в аксесе, но и в проге на VB У все прошу советов, помощи и критики.
|
|
|
|
|
Supreme Being
      
участник
Last Login: 07.03.2008 19:04
Сообщ.: 328,
Visits: 1 857
|
|
Если, говоря о последних заказах, Вы имеете ввиду последние по времени, то тогда можно так:
SELECT Client.ClientID, Client.sName, Client.sAdres, Zakaz.ZakazID, Zakaz.DateIn, Zakaz.Summa
FROM Client INNER JOIN Zakaz ON Client.ClientID = Zakaz.ClientID
WHERE (((Zakaz.ZakazID) In (SELECT TOP 2 Z.ZakazID FROM Zakaz As Z WHERE (Z.ClientID=Zakaz.ClientID) ORDER BY Z.DateIn DESC)));
|
|
|
|
|
Junior Member
      
участник
Last Login: 22.12.2006 20:05
Сообщ.: 10,
Visits: 93
|
|
Да, это именно то, что мне было нужно. Огромное вам спасибо.
|
|
|
|