Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Сложность в построении запроса [D7, XP]


Страницы:   1 2

Mery ©   (2010-01-12 12:08:00) 

Не могу сообразить с запросом. подскажите, п-та
есть 2 таблицы: в одной ФИО покупателя, в другой даты покупок, связанные с покупателями. Как выбрать ФИО всех покупателей и даты их ПОСЛЕДНИХ покупок?


Ega23   (2010-01-12 13:30:00) [21]


> даёт ошибку на синтаксис: нельзя использовать знак =.


Ты не указал СУБД. Для MSSQL всё прекрасно работает.
Select P.FIO, DatIn = Max(Pr.DateIn)
замени на
Select P.FIO, Max(Pr.DateIn) as DateIn


Sergey13   (2010-01-12 13:27:00) [22]

> [3] Mery   (12.01.10 13:20)
> даёт ошибку на синтаксис: нельзя использовать знак =.

Ужас! Пожалуйся на Ega23 в милицию. Дает непроверенный на твоем "кстати" серваке код.


Mery   (2010-01-12 13:20:00) [23]

>turbouser ©   (12.01.10 12:16) [1]
нет. всё равно все записи берёт, не выбирая МАХ дату.

>Ega23 ©   (12.01.10 12:23) [2]
даёт ошибку на синтаксис: нельзя использовать знак =.

кстати, пользуюсь Firebird 2.0. Компаненты IB.


Ega23   (2010-01-12 12:23:00) [24]


Create table Pers(
PersID int identity (1,1) not null,
FIO varchar(32) not null,
constraint PK_Pers primary key (PersID)
);

Create table Purchasings (
UNID int identity (1,1) not null,
PersID int not null,
DateIn datetime not null,
constraint PK_Purch primary key (UNID),
constraint FK_Purch_Pers foreign key (PersID)
 references Pers (PersID)
);

insert into Pers (FIO) values ('ААА');
insert into Pers (FIO) values ('БББ');
insert into Pers (FIO) values ('ВВВ');
insert into Pers (FIO) values ('ГГГ');
insert into Pers (FIO) values ('ДДД');

insert into Purchasings (PersID, DateIn) Values (1, 1);
insert into Purchasings (PersID, DateIn) Values (1, 2);
insert into Purchasings (PersID, DateIn) Values (1, 3);
insert into Purchasings (PersID, DateIn) Values (1, 4);

insert into Purchasings (PersID, DateIn) Values (2, 1);
insert into Purchasings (PersID, DateIn) Values (2, 2);
insert into Purchasings (PersID, DateIn) Values (2, 3);

insert into Purchasings (PersID, DateIn) Values (3, 1);
insert into Purchasings (PersID, DateIn) Values (3, 2);

insert into Purchasings (PersID, DateIn) Values (4, 1);

Select * from Purchasings

Select P.FIO, DatIn = Max(Pr.DateIn)
 from Pers P inner join Purchasings Pr on (P.PersID = Pr.PersID)
 group by P.FIO


turbouser   (2010-01-12 12:16:00) [25]

select F.ФИО, MAX(D.даты покупок) таблица_фио F join таблица_дат D on F.xxx=D.xxx
group by F.ФИО


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо