powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / опять блин селект
4 сообщений из 4, страница 1 из 1
опять блин селект
    #35125637
q1w1e1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тут ещё круче создалась ситуация....крутил, вертел не могу никак въехать...
короче есть два поля, ну первое, как всегда, ключевое, по которму группировать надо, а вот во втором поле надо вычислить максимальное и минимальное значение по чётным и не чётным номерам...
ну типа , а должны получить на выходе

p1 p2 p1 p2_min_чёт p2_max_чёт p2_min_нечёт p2_max_нечёт
1 1 1 2 6 1 5
1 2 2 2 6 1 5
1 3
1 4
1 5
1 6
2 1
2 2
2 3
2 4
2 5
2 6
...
Рейтинг: 0 / 0
опять блин селект
    #35125655
Galyamov Rinat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"q1w1e1" <nospam@sql.ru>; сообщил/сообщила в новостях следующее:
news:5274643@sql.ru...
> Автор: q1w1e1
> Тут ещё круче создалась ситуация....крутил, вертел не могу никак
> въехать...
> короче есть два поля, ну первое, как всегда, ключевое, по которму
> группировать надо, а вот во втором поле надо вычислить максимальное и
> минимальное значение по чётным и не чётным номерам...
> ну типа , а должны получить на выходе


> p1 p2 p1 p2_min_чёт p2_max_чёт p2_min_нечёт p2_max_нечёт
> 1 1 1 2 6 1 5
> 1 2 2 2 6 1 5

Неужели вместо этого:

> 1 3
> 1 4
> 1 5
> 1 6
> 2 1
> 2 2
> 2 3
> 2 4
> 2 5
> 2 6
Сложно написать вот это: ?????????
CREATE CURSOR test (p1 i, p2 i)

INSERT INTO test (p1, p2) VALUES (1, 3)

INSERT INTO test (p1, p2) VALUES (1, 4)

INSERT INTO test (p1, p2) VALUES (1, 5)

INSERT INTO test (p1, p2) VALUES (1, 6)

INSERT INTO test (p1, p2) VALUES (2, 1)

INSERT INTO test (p1, p2) VALUES (2, 2)

INSERT INTO test (p1, p2) VALUES (2, 3)

INSERT INTO test (p1, p2) VALUES (2, 4)

INSERT INTO test (p1, p2) VALUES (2, 5)

INSERT INTO test (p1, p2) VALUES (2, 6)



Ну а это твой селект:

SELECT p1, MAX(p2) as max_p2,;

MAX(IIF(MOD(p2,2)=0, p2, -99999)) as max_p2_chet, MAX(IIF(MOD(p2,2)#0,
p2, -99999)) as max_p2_NE_chet,;

MIN(IIF(MOD(p2,2)=0, p2, 99999)) as min_p2_chet, MIN(IIF(MOD(p2,2)#0, p2,
99999)) as min_p2_NE_chet;

FROM test;

GROUP BY 1





Правильнее было бы использовать не 999999 и -999999, а .null., но у меня не
получилось select заставить воспринимать этот .null.

Нашел вот такой выход из этой ситуации:

CREATE CURSOR test2 (p3 i)

SELECT p1, MAX(p2) as max_p2,;

MAX(IIF(MOD(p2,2)=0, p2, p3)) as max_p2_chet, MAX(IIF(MOD(p2,2)#0, p2, p3))
as max_p2_NE_chet,;

MIN(IIF(MOD(p2,2)=0, p2, p3)) as min_p2_chet, MIN(IIF(MOD(p2,2)#0, p2, p3))
as min_p2_NE_chet;

FROM test LEFT JOIN test2 ON .f.;

GROUP BY 1


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
опять блин селект
    #35125660
q1w1e1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
спасибо, извиняюсь, в следующий раз буду писать через Insert, думал так наглядней, а через Insert, как-то завуалировано..
...
Рейтинг: 0 / 0
опять блин селект
    #35125666
Galyamov Rinat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> спасибо, извиняюсь, в следующий раз буду писать через Insert, думал
> так наглядней, а через Insert, как-то завуалировано..

Может тебе и селект как-нить наглядно писать, а не завуалированно? ;-)


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / опять блин селект
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]