Главная страница
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.018 c
1-76432
Opera
2003-03-11 13:06
2003.03.24
Текст


6-76558
Шишкин Илья
2003-02-03 15:40
2003.03.24
Internet Explorer


1-76479
Slym
2003-03-11 19:48
2003.03.24
Поворот текста из нескольких строк в TPicture...


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


3-76276
Sergey_
2003-03-04 13:25
2003.03.24
Подскажите как данные из Query разместить по Edit