Страница 2 из 3
Re: Запрос на обновление записи
Добавлено: 05 фев 2008, 07:27
Dr_Grizzly
тогда MS SQL

- это мелкософтный sql?
Re: Запрос на обновление записи
Добавлено: 05 фев 2008, 15:12
Игорь Акопян
Владимир, я конечно не гуру по SQL, но запрос такого вида пройдёт в оракле и не пройдёт в FB в версии ниже 2.0 (кажется). С остальными не знаком...

Re: Запрос на обновление записи
Добавлено: 17 мар 2008, 11:06
Dr_Grizzly
Привет снова! Я все еще мучаюсь с этим запросом...
Если я строю этот запрос -
SELECT t1.fio as Fio, sum(t2.sum) AS Sum_purch
FROM tab1 AS t1 JOIN tab2 AS t2 ON t1.key=t2.fiokey
GROUP BY t1.fio
Он должен работать???? Т.к. мне ща ругается что "Ошибка синтаксеса в предложении FROM"
Re: Запрос на обновление записи
Добавлено: 17 мар 2008, 12:05
Yurich
У тебя не указан тип join'а (inner join, left outer, right outer). Поэтому и ругается...
Re: Запрос на обновление записи
Добавлено: 17 мар 2008, 12:54
Владимир
У меня в данном варианте синтаксиса
Код: Выделить всё
SELECT t1.fio as Fio, sum(t2.sum) AS Sum_purch
FROM tab1 AS t1 JOIN tab2 AS t2 ON t1.key=t2.fiokey
GROUP BY t1.fio
выдается ошибка "Incorrect syntax near the keyword 'key'."
Лечится это следующим образом
Код: Выделить всё
SELECT t1.fio as Fio, sum(t2.sum) AS Sum_purch
FROM tab1 AS t1 JOIN tab2 AS t2 ON [B]t1.[key][/B]=t2.fiokey
GROUP BY t1.fio
Re: Запрос на обновление записи
Добавлено: 20 мар 2008, 08:21
Dr_Grizzly
Совместил и то и другое и проблема исчезла. Это результат
SELECT t1.nomerkred as kred, t1.datakred as dat, sum(nachfed) AS Sum_purch
FROM kreditname AS t1 RIGHT JOIN finanskred AS t2 ON t1.[key]=t2.kredkey
GROUP BY t1.nomerkred, t1.datakred
Теперь когда впихиваю это в запрос на обновление, она мне ругается на ошибку синтаксиса (пропущен оператор), начиная с "subq.Sum_purch From (... ) as SubQ"
Update kreditname
set kreditname.itogonachfed = subq.Sum_purch
From
(SELECT t1.nomerkred as kred, t1.datakred as dat, sum(nachfed) AS Sum_purch
FROM kreditname AS t1 RIGHT JOIN finanskred AS t2 ON t1.[key]=t2.kredkey
GROUP BY t1.nomerkred, t1.datakred) as SubQ
WHERE kreditname.nomerkred = SubQ.kred and kreditname.datakred=subq.dat
Re: Запрос на обновление записи
Добавлено: 20 мар 2008, 10:57
Игорь Акопян
update ... set ... where
select ... from ... where
update ... set ... from - неправильно
Re: Запрос на обновление записи
Добавлено: 20 мар 2008, 18:33
Dr_Grizzly
фихня какая-та получается %) и как же тут сделать вложенный запрос???
Re: Запрос на обновление записи
Добавлено: 21 мар 2008, 10:02
Игорь Акопян
я бы процедуру написал...
Re: Запрос на обновление записи
Добавлено: 21 мар 2008, 11:36
Владимир
Игорь Акопян писал(а):update ... set ... where
select ... from ... where
update ... set ... from - неправильно
Это почему же update ... set ... from - неправильно??? Очень даже правильно, а
Dr_Grizzly скорее всего перепутал типы соединения, ему не LEFT или RIGHT, а INNER нужно