Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft Access Новый топик    Ответить
 Очередной "невыполнимый" запрос.  [new]
e-tch
Member

Откуда: Нижний Новгород
Сообщений: 104
В таблице есть поля: "Код", "Дата_посл_конт", "Дата_след_конт", "Предложение", "Результат". Запрос выбирает "Код", "Дата_посл_конт", "Предложение". Назовём результат выборки "Запись 1". Как этим же запросом выбрать "Результат" (то есть включить его в "Запись 1"), у которого такой же "Код", как в "Записи 1", и "Дата_след_конт" равна "Дата_посл_конт" в "Записи 1"?
Написал как-то по-дурацки, но понятно, кажется.
18 апр 05, 12:21    [1475724]     Ответить | Цитировать Сообщить модератору
 Re: Очередной "невыполнимый" запрос.  [new]
Shark
Member

Откуда:
Сообщений: 2365
Надо соединить эту табличку саму с собой
From table1 t1 inner(left,right) join table1 t2 on t1.code=t2.code and t1.lastDate =t2.firstdate
18 апр 05, 13:46    [1476138]     Ответить | Цитировать Сообщить модератору
 Re: Очередной "невыполнимый" запрос.  [new]
Пользователь2
Guest
Напиши поконкретнее, что имеем, что должно получится. Приведи тестовые данные.
18 апр 05, 13:53    [1476164]     Ответить | Цитировать Сообщить модератору
 Re: Очередной "невыполнимый" запрос.  [new]
e-tch
Member

Откуда: Нижний Новгород
Сообщений: 104
Да уж, напишу, а то в sql запрос выглядит страшновато, боюсь не туда воткнуть inner join.
ТЗ полностью (мб и не придётся такой запрос делать): на запросе основан отчёт, который показывает дату следующего контакта и предложения. А должен ещё показывать результат предыдущего контакта. Пример:
Запись1: Код1, Дата_посл_конт1, Дата_след_конт1, Предложение1, Результат1
Запись2: Код1, Дата_посл_конт2, Дата_след_конт2, Предложение2, Результат2
При этом Дата_след_конт1=Дата_посл_конт2.
В отчёте должно появиться: Код1, Дата_посл_конт2, Предложение2 и Результат1.
18 апр 05, 14:04    [1476218]     Ответить | Цитировать Сообщить модератору
 Re: Очередной "невыполнимый" запрос.  [new]
Пользователь2
Guest
Shark правильно написал.

Надо так.

SELECT tbl2_1.Код, tbl2_1.Дата_посл_конт, tbl2_1.Дата_след_конт, tbl2.Результат
FROM tbl2 INNER JOIN tbl2 AS tbl2_1 ON (tbl2.Дата_след_конт = tbl2_1.Дата_посл_конт) AND (tbl2.Код = tbl2_1.Код);
18 апр 05, 15:15    [1476565]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft Access Ответить