_Leonchik_
Новичок
Групировать по максимальн-полученному значению
помогите плиз разрулить ситуацию:
есть 2 таблицы.
tab_1(id1, name) и tab_2(id, id1, start, end)
В tab_2 имеются следующие записи:
1 1 10 NULL
2 1 5 5
3 1 2 NULL
4 1 8 6
5 1 NULL NULL
6 1 7 7
Задача вытянуть одну строку кот. :
WHERE (t2.start > t2.end AND t2.start IS NOT NULL) OR (t2.start IS NULL )
Если словами: изъять ту строку. кот t2.start > t2.end но t2.start не является пустой
или если таковых записей нет. берем ту строку, кот имеет в поле t2.start значение NULL
В предоставленной таблице на данных момет считается удовл. строкой - 1 (10 - NULL)
после данного запроса, в поле t2.end инкрементируется на одну запись.
и т.д. пока мы не добермся до строки 5 (NULL - NULL)
В данном запросе возвращается одна любая запись, кот. t2.start > t2.end. Но нужна именно максимальное 'больше'.
-~{}~ 08.02.07 15:11:
никак не выходит. у когото есть соображения?
-~{}~ 08.02.07 15:58:
вот млин. такая банальная ситуация на первый взгляд. а ничего не выходит. Как же быть?
помогите плиз разрулить ситуацию:
есть 2 таблицы.
tab_1(id1, name) и tab_2(id, id1, start, end)
В tab_2 имеются следующие записи:
1 1 10 NULL
2 1 5 5
3 1 2 NULL
4 1 8 6
5 1 NULL NULL
6 1 7 7
Задача вытянуть одну строку кот. :
WHERE (t2.start > t2.end AND t2.start IS NOT NULL) OR (t2.start IS NULL )
Если словами: изъять ту строку. кот t2.start > t2.end но t2.start не является пустой
или если таковых записей нет. берем ту строку, кот имеет в поле t2.start значение NULL
В предоставленной таблице на данных момет считается удовл. строкой - 1 (10 - NULL)
после данного запроса, в поле t2.end инкрементируется на одну запись.
и т.д. пока мы не добермся до строки 5 (NULL - NULL)
PHP:
SELECT t2.*
FROM `tab_1` AS t1
INNER JOIN `tab_2` AS t2 USING(id1)
WHERE (t2.start > t2.end AND t2.start IS NOT NULL) OR (t2.start IS NULL)
GROUP BY t1.id1
-~{}~ 08.02.07 15:11:
никак не выходит. у когото есть соображения?
-~{}~ 08.02.07 15:58:
вот млин. такая банальная ситуация на первый взгляд. а ничего не выходит. Как же быть?