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

KOD1 | KOD2 | TYPE | COST |
1 | 101 | 0 | 9 |
2 | 102 | 0 | 3 |
3 | 102 | 1 | 3 |
4 | 117 | 1 | 4 |
5 | 117 | 0 | 8 |

Необходимо написать такой запрос(может 2,3...), чтобы в итоге получилось:

KOD1 | COST |
1 | 9 |
2 | 6 |
5 | 12 |

Вот.
...
Рейтинг: 0 / 0
Sql запрос
    #34530106
PaulWist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Каков вопрос, таков ответ

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
CREATE CURSOR test (KOD1 i, KOD2 i, TYPE i, COST i )
INSERT INTO test VALUES ( 1 ,  101 ,  0 ,  9 )
INSERT INTO test VALUES ( 2 ,  102 ,  0 ,  3 )
INSERT INTO test VALUES ( 3 ,  102 ,  1 ,  3 )
INSERT INTO test VALUES ( 4 ,  117 ,  1 ,  4 )
INSERT INTO test VALUES ( 5 ,  117 ,  0 ,  8 )

SELECT * FROM ( ;
SELECT TOP  1   1  as kod1 ,  9  as cost FROM test ORDER BY  1  ) aa ;
UNION ALL ;
SELECT * FROM ( ;
SELECT TOP  1   2  as kod1 ,  6  as cost FROM test ORDER BY  1  ) bb ;
UNION ALL ;
SELECT * FROM ( ;
SELECT TOP  1   5  as kod1 ,  12  as cost FROM test  ORDER BY  1 ) cc
...
Рейтинг: 0 / 0
Sql запрос
    #34530135
AleksMed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Злыдень
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
CREATE CURSOR test (KOD1 i, KOD2 i, TYPE i, COST i )
INSERT INTO test VALUES ( 1 ,  101 ,  0 ,  9 )
INSERT INTO test VALUES ( 2 ,  102 ,  0 ,  3 )
INSERT INTO test VALUES ( 3 ,  102 ,  1 ,  3 )
INSERT INTO test VALUES ( 4 ,  117 ,  1 ,  4 )
INSERT INTO test VALUES ( 5 ,  117 ,  0 ,  8 )

SELECT Kod2, MIN(Kod1) Kod1 ;
	FROM Test ;
	GROUP BY Kod2 ;
	INTO CURSOR cTmp1
	
SELECT Kod2, SUM(Cost) Cost ;
	FROM Test ;
	GROUP BY Kod2 ;
	INTO CURSOR cTmp2
	
SELECT a.Kod1, b.Cost ;
	FROM cTmp1 a ;
	INNER JOIN cTmp2 b ON b.Kod2=a.Kod2 ;
	ORDER BY a.Kod1 ;
	INTO CURSOR cTmp3
...
Рейтинг: 0 / 0
Sql запрос
    #34530147
-=AlexiS=-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для VFP9
Код: plaintext
1.
2.
SELECT a.kod1,b.cost FROM  t123 a ;
     inner join (select kod2,SUM(cost) as cost from t123 group by kod2) b ON a.kod2=b.kod2 ;
WHERE a.type= 0 

для версий не поддерживающих подзапросы в джойнах- в 2 прохода . Сначала подзапрос в курсор, и джоин с ним.
...
Рейтинг: 0 / 0
Sql запрос
    #34530156
PaulWist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ты условие прочти внимательно, надо

5 - 12
а у тебя
4 - 12
...
Рейтинг: 0 / 0
Sql запрос
    #34530162
AleksMed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Он просто очепятался.
...
Рейтинг: 0 / 0
Sql запрос
    #34530165
PaulWist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AleksMedОн просто очепятался.

он это кто -=AlexiS=-
...
Рейтинг: 0 / 0
Sql запрос
    #34530173
AleksMed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PaulWist AleksMedОн просто очепятался.

он это кто -=AlexiS=-
Аффтар. А если не очепятался, то твой ответ правильный.
...
Рейтинг: 0 / 0
Sql запрос
    #34530212
PaulWist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-=AlexiS=- разобрался, что хотел автор и дал верный ответ
...
Рейтинг: 0 / 0
Sql запрос
    #34530253
-=AlexiS=-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
оба-на

я блин самый вумный

а ну быстро мне орден - только не из чугуния с закруткой на спине
...
Рейтинг: 0 / 0
Sql запрос
    #34531430
Remans
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
УРАААА!!!
Всем спасибо.
-=AlexiS=- , с меня орден ))
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Sql запрос
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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