Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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
3-76337
Солер
2003-03-03 19:16
2003.03.24
Фильтр и combobox


1-76501
Nikos
2003-03-12 15:06
2003.03.24
Подскажите оптимальный вариант


3-76333
Merlot
2003-03-05 10:26
2003.03.24
Вопрос по Query


1-76506
ferrik
2003-03-12 18:05
2003.03.24
Запрет редактирования файла для других


7-76693
Связной
2003-01-30 16:19
2003.03.24
Как очистить оперативную память?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский