![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
помогите сделать запрос! [dBase, FoxPro]
wizzo © (2003-02-06 18:56:00)Есть таблица
1-aaa-2
1-bbb-4
1-aaa-3
2-aaa-1
.......
Надо получить
1-bbb-4
2-aaa-1
.......
т.е. что-то вроде select field1, max(field3) from db group by field1. Но в такой результат такого запроса не попадает field2, а если вставить его в group, то получится
1-bbb-4
1-aaa-3
2-aaa-1
.......
sniknik (2003-02-07 00:19:00) [1]а я не заметил что там значения разные. :(
похоже оба нуждаются в дальнейшем детальном рассмотрении с дополнительными данными. :-)) (хотя нет мой уже отвалился)
Johnmen (2003-02-07 00:15:00) [2]Просто хотел заметить, что твой запрос вернет макс.значение F2, а надо то, при котором максимально F3.
А если F3 неуникально, то и смысл вопроса другой...:)))
sniknik (2003-02-07 00:09:00) [3]а если F3 не уникальное? порушится логика, если их 2 и > максимальных значений.
в SQL от jet-а мой срабатывает. а судя по что ты вставил MIN(A.F2) он и в локал должен сработать (мин мах какая разница если равно), ты же это для строки вставил, я только в этом сомневался.
Johnmen (2003-02-07 00:00:00) [4]>sniknik © (06.02.03 19:05)
Нет, не то...
>wizzo
Примерно так :
SELECT A.F1, MIN(A.F2), MAX(A.F3)
FROM T A
WHERE A.F3=(SELECT MAX(B.F3) FROM T B WHERE B.F1=A.F1)
GROUP BY A.F1
sniknik (2003-02-06 19:05:00) [5]select field1, max(field2), max(field3) from db group by field1
хотя в локал SQL со строкой может не пройдет. но попробуй.
Mike Kouzmine (2003-02-06 19:02:00) [6]Свяжи с самое с собой