Вниз
Скачать: CL | DM;

SQL?   Найти похожие ветки 

← →
studentas ©   (2003-03-04 12:43) [0]

Уважаемые мастера нужен совет
Есть 2 таблицы (T1 и T2) поля (kod,mesto,suma)
Надо: в таблицу T3 поля (kod,mesto,suma1, suma2) вписать неповторяущиеся записи из таблиц T1 и T2 причем если kod и mesto совпадают то suma(T1) вписывается в suma1 а suma(T2) в suma2.
В принцепе я решил ету задачку, но уж больно много команд пришлось создать- хотелось бы их свести до min.
Please F1 me!

Мое решение:
1.
INSERT into “T3” (kod,mesto,suma1)
SELECT t.kod, t.mesto,t.suma from “t1” t
WHERE not
(t.kod= (SELECT Kod from “T2” where kod=t.kod and mesto=t.mesto))
and
(t.mesto=(SELECT mesto from “T2” where kod=t.kod and mesto=t.mesto))

2.
INSERT into “T3” (kod,mesto,suma2)
SELECT t.kod, t.mesto,t.suma from “t2” t
WHERE not
(t.kod= (SELECT Kod from “T1” where kod=t.kod and mesto=t.mesto))
and
(t.mesto=(SELECT mesto from “T1” where kod=t.kod and mesto=t.mesto))

3. Потом Update и Delete записей где совпадают kod и mesto.

Пример:


таблица T1
A2|V1|10
A2|V2|12
A3|V2|14
A2|V2|15
таблица T2
A2|V1|11
A4|V2|12
A2|V2|15

1-2
таблица T3
A2|V1|10|--
A2|V1|--|11
A4|V2|--|12
A3|V2|14|--

3.
таблица T3 (результат)
A2|V1|10|11
A4|V2|--|12
A3|V2|14|--


← →
passm ©   (2003-03-04 13:04) [1]

SELECT T1.KOD, T1.MESTO, T1.SUMA AS SUMA1, CAST(NULL AS DOUBLE) AS SUMA2
FROM T1
WHERE (T1.KOD, T1.MESTO) NOT IN (SELECT T2.KOD, T2.MESTO FROM T2)
UNION ALL
SELECT T2.KOD, T2.MESTO, CAST(NULL AS DOUBLE) AS SUMA1, T2.SUMA AS SUMA2
FROM T2
WHERE (T2.KOD, T2.MESTO) NOT IN (SELECT T1.COD, T1.MESTO FROM T1)
UNION ALL
SELECT T1.KOD, T1.MESTO, T1.SUMA AS SUMA1, T2.SUMA AS SUMA2
FROM T1
INNER JOIN T2 ON (T1.KOD = T2.KOD AND T1.MESTO = T2.MESTO)

Но желательно бы знать СУБД...


← →
Johnmen ©   (2003-03-04 13:16) [2]

Уточни все-таки логику, а то непонятно...
Где в Т3 A2|V2|...|... ? И не ясен критерий повторяющихся...



← →
studentas ©   (2003-03-04 15:01) [3]

V tablicu T3 vpisat" nepovtariajusiesia zapisi iz T1 i T2
ctoby esli kod i mesto adinakovyje togda vpisyvaet odnu strocku suma iz t1 v suma1 a iz t2 v suma2
> Johnmen ©



> passm ©

Paradox


← →
Johnmen ©   (2003-03-04 15:11) [4]

>...nepovtariajusiesia zapisi iz T1 i T2
>..esli kod i mesto adinakovyje

Я дизориентирован............


← →
studentas ©   (2003-03-04 17:37) [5]

aha a suma raznaja. Tipo kod i mesto odin i totze a suma raznaja



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.015 c
6-76560
Anton
2003-01-29 22:15
2003.03.24
Есть ли ограничение на размер файла передаваемого по FTP


1-76392
hooch
2003-03-13 10:41
2003.03.24
Bitmap в Excel


14-76607
Карелин Артем
2003-03-07 08:48
2003.03.24
Прокси для ICQ


4-76716
Василий2
2002-12-13 11:49
2003.03.24
runas.exe - ОШИБКА!


1-76499
Alexxxxx
2003-03-12 17:43
2003.03.24
Диаграммы в Delphi




   Наверх