Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Sql запрос / 11 сообщений из 11, страница 1 из 1
16.05.2007, 16:39
    #34529942
Remans
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Sql запрос
Объясню на примере.
Предположим есть таблица

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
16.05.2007, 17:11
    #34530106
PaulWist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Sql запрос
Каков вопрос, таков ответ

Код: 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
16.05.2007, 17:17
    #34530135
AleksMed
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Sql запрос
Злыдень
Код: 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
16.05.2007, 17:18
    #34530147
-=AlexiS=-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Sql запрос
Для 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
16.05.2007, 17:20
    #34530156
PaulWist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Sql запрос
Ты условие прочти внимательно, надо

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

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

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

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

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


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