Форум: "Базы";
Текущий архив: 2003.03.24;
Скачать: [xml.tar.bz2];
Вниз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 вся ветка
Форум: "Базы";
Текущий архив: 2003.03.24;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.007 c