![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Связать 2 таблицы [D7, MSSQL]
Sergey2 © (2009-03-02 11:04:00)Есть две таблицы
table1.date1 table1.code
10.02.2009 1
15.02.2009 1
20.02.2009 1
table2.date2 table2.code
12.02.2009 1
16.02.2009 1
17.02.2009 1
24.20.2009 1
Необходимо связать их по полю Code и выбрать для каждой строки первой таблицы минимальное значение по дате из второй с условием что эта дата больше даты первой таблицы.
Тоесть результат выборки должен быть вот такой:
Code table1.Date1 table2.Date2
1 10.02.2009 12.02.2009
1 15.02.2009 16.02.2009
1 20.02.2009 24.02.2009
select t1.date1, t2.minDate2
from table1 t1 left join
(select min(date2) as minDate2, code from table2 group by code) t2 on t1.code = t2.code and t2.mindate2 > t1.date1
Данная попытка решить задачу отрабатывает не так, как надо возвращая на последнюю запись первой таблицы все записи из второй, так как они все удовлетворяют условию, что t2.mindate2 > t1.date1.
Sergey2 (2009-03-02 11:24:00) [1]большое спасибо
Sergey13 (2009-03-02 11:09:00) [2]
select t1.code, t2.min(Date2)
from table1 t1,table2 t2 t2
where t1.code = t2.code and t2.mindate2 > t1.date1
group by t1.code