Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.11.28;
Скачать: CL | DM;

Вниз

2 таблички нужно свести в одну   Найти похожие ветки 

 
03111978   (2010-09-06 11:08) [0]

т.е. есть 2 таблички, поле ФИО, там и там одно и тоже, остальные поля тоже одинаковые, только данные разные. Необходимо как то объеденить 2 таблички в некую третьтю, и сгрупировать по ФИО.

написал вот так, запрос на MS SQL, но где то ошибка, подскажите пожалуйста.

update t1 set _Num = t2._Client,_1 = t2._1, _2 = t2._2, _3 = t2._3, _4 = t2._4, _5 = t2._5, _6 = t2._6, _7 = t2._7, _8 = t2._8, _9 = t2._9, _10 = t2._10, _11 = t2._11, _12 = t2._12, _Itog = t2._Itog, _Skidka = t2._Opl
from L_pr..ItogKontakt t1
inner join(select _Client,_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_Itog,_Opl from L_pr..NEW group by _Client)t2 on (t1._Num = t2._Client)



 
brother ©   (2010-09-06 11:28) [1]

> но где то ошибка

истина где-то рядом (с)Секретные материалы


 
И. Павел ©   (2010-09-06 12:27) [2]

> select _Client,_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_Itog,
> _Opl from L_pr..NEW group by _Client

Нужно граппировать и по _1, _2 ... Ну или суммировать их, например: sum(_1), sum(_2) и т.д.

PS: Сервер что пишет?


 
И. Павел ©   (2010-09-06 12:30) [3]

> граппировать

группировать


 
И. Павел ©   (2010-09-06 12:37) [4]

И не from должен быть, а Where...


 
И. Павел ©   (2010-09-06 12:41) [5]

Можно сперва удалить старые записи, а потом добавить новые с помощью SELECT INTO.
Или можно через UPDATE но в цикле.

Хотя не понятно - зачем нужно такое перекладывание данных. Да еще и, видимо, регулярное, т.к. речь идет не о создании таблицы а об ее обновлении.


 
12 ©   (2010-09-06 12:52) [6]


> зачем нужно такое перекладывание данных.

Временное хранение, чтоб не рассчитывать каждый раз, например.


> 03111978   (06.09.10 11:08)  

Явная ошибка в отсутствии агрегации при группировке, нужно исправить для начала, а там видно будет :)


 
Anatoly Podgoretsky ©   (2010-09-06 13:03) [7]

Основная ошибка в том, что это не объединение, а соединение, объединение делается через UNION


 
03111978   (2010-09-06 14:12) [8]

Всем спасибо, ошибку нашел



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

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

Наверх




Память: 0.48 MB
Время: 0.006 c
2-1284037319
ZV
2010-09-09 17:01
2010.11.28
TTimer процедура обработки события таймера


15-1282465743
Alex Konshin
2010-08-22 12:29
2010.11.28
Windows 7 Update глюк отрубает RAID диски и может вызвать BSOD


2-1283846165
DROWSY
2010-09-07 11:56
2010.11.28
Как можно редактировать набор из связанных таблиц?


2-1283771755
rnts
2010-09-06 15:15
2010.11.28
Ошибка в запросе


15-1282163389
Юрий
2010-08-19 00:29
2010.11.28
С днем рождения ! 19 августа 2010 четверг