Форум: "Базы";
Текущий архив: 2010.03.07;
Скачать: [xml.tar.bz2];
ВнизСвязать 2 таблицы Найти похожие ветки
← →
Sergey2 (2009-03-02 11:04) [0]Есть две таблицы
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.
← →
Sergey13 © (2009-03-02 11:09) [1]
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
← →
Sergey2 (2009-03-02 11:24) [2]большое спасибо
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2010.03.07;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.005 c