Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.03.24;
Скачать: 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 вся ветка

Текущий архив: 2003.03.24;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.02 c
4-76719
elf_123
2003-01-28 19:34
2003.03.24
Хук+сеть


14-76665
Scorpx
2003-03-08 19:22
2003.03.24
Время


1-76388
AlexanderSK
2003-03-12 13:00
2003.03.24
Проблемы с OnMouseEnter и OnMouseLeave


3-76352
Andy Eremin
2003-03-06 08:47
2003.03.24
пустые поля


3-76272
digester
2003-03-07 02:36
2003.03.24
Сортировка записей в таблице