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

Вниз

сложение с помощью SQL   Найти похожие ветки 

 
serguncho ©   (2005-06-24 14:58) [0]

Помогите,пожалуйста. В SQL я как корова на льду.
Нужно сложить значения ОДНОЙ ЗАПИСИ полей Сумма1 и Сумма2 в Таблице 1 с последующей подстановкой полученного значения в поле ИТОГ Таблицы 2.

Дело в том, что SUM только складывает все значения столбца, а мне нужно только два значения одной записи.

Заранее благодарен


 
Sergey13 ©   (2005-06-24 15:03) [1]

Перечитал 2 раза. Не понял ничего, только про корову немного. Может еще почитать? 8-)


 
Val ©   (2005-06-24 15:10) [2]

insert into Таблица 2( ИТОГ, еще_что-то_если есть_)
select Сумма1 + Сумма2, еще_что-то_если есть_
from Таблица 1
where мое условие определения ОДНОЙ ЗАПИСИ


 
serguncho ©   (2005-06-24 15:11) [3]

Таблица 1:

Номер  ФИО           Сумма1   Сумма2
...             ...            ...
103    Иванов П.К.    10000  345
...             ...            ...


Таблица 2:

Номер  ФИО           Итог
...             ...            
103    Иванов П.К.   ___
...             ...          


Как сложить две суммы из Т1 и подставить значение в ИТОГ Т2.


 
Johnmen ©   (2005-06-24 15:14) [4]

>Val ©   (24.06.05 15:10) [2]
>where мое условие определения ОДНОЙ ЗАПИСИ

Зачем ему твоё условие ? :)))


 
Sergey13 ©   (2005-06-24 15:15) [5]

2[3] serguncho ©   (24.06.05 15:11)
Более чем странная структура таблиц.
uptate tabl2
set итог=select сумма1+сумма2 from tabl1 where tabl1.номер=tabl2.номер and tabl1.ФИО=tabl2.ФИО


 
serguncho ©   (2005-06-24 15:18) [6]

Val ©   (24.06.05 15:10) [2]
Спасибо


 
Val ©   (2005-06-24 15:19) [7]

а зачем нам всем майкрософтовские документы и рисунки? :)


 
Johnmen ©   (2005-06-24 15:21) [8]

>Sergey13 ©   (24.06.05 15:03) [1]

:)))

>Val ©   (24.06.05 15:19) [7]
>а зачем нам всем майкрософтовские документы и рисунки? :)

Ну, мне не нужны, а значит не всем...:)


 
serguncho ©   (2005-06-24 15:22) [9]

ВОПРОС:
Можно ли объеддинять два символьных значения. Просто я сейчас попробовал
where имя+" "+фамилия="Вася Деточкин"
не работает, тогда как
where имя="вася" and фамилия="деточкин" работает.
----------------------

Sergey13 ©   (24.06.05 15:15) [5]
Более чем странная структура таблиц.
Странная,потому что на ней я обкатываю основные SQL команды. Я понимаю всю нелогичность их двух таблиц, но мне так удобнее.


 
Sergey13 ©   (2005-06-24 15:26) [10]

2[9] serguncho ©   (24.06.05 15:22)
>Странная,потому что на ней я обкатываю основные SQL команды. Я понимаю всю нелогичность их двух таблиц, но мне так удобнее.
Можно конечно испытывать проходимость трактора на шоссе. Только нужно ли?


 
ANB ©   (2005-06-24 15:29) [11]


> Можно ли объеддинять два символьных значения
- можно.


 
Val ©   (2005-06-24 15:30) [12]


> Можно ли объеддинять два символьных значения


можно. есть в справочнике по SQL.


 
serguncho ©   (2005-06-24 15:47) [13]

Sergey13 ©   (24.06.05 15:15) [5]
uptate tabl2
set итог=select сумма1+сумма2 from tabl1 where tabl1.номер=tabl2.номер and tabl1.ФИО=tabl2.ФИО
-------
Ошибка синтаксиса "select сумма1+сумма2 from tabl1"


 
msguns ©   (2005-06-24 15:53) [14]

Русские названия полей надо указывать в кавычках
И прислушайтесь к [5] (по поводу структуры)


 
Sergey13 ©   (2005-06-24 15:54) [15]

2[13] serguncho ©   (24.06.05 15:47)
Ты думал это рабочий запрос? 8-) Это скелетик. 8-)


 
serguncho ©   (2005-06-24 15:55) [16]

у меня в латинице все. Просто по-русски писал для облегчения объяснений


 
msguns ©   (2005-06-24 15:56) [17]

Давай реальный запрос


 
serguncho ©   (2005-06-24 16:01) [18]

UPDATE TBL_SECOND
set Total=
SELECT DISTINCT sum1 + sum2  from TBL_FIRST
where tbl_second.id="103" and tbl_first.id="103"


 
Плохиш ©   (2005-06-24 16:04) [19]

UPDATE TBL_SECOND
set Total=(SELECT DISTINCT sum1 + sum2  from TBL_FIRST where tbl_first.id="103")
where tbl_second.id="103"


 
Виталий Панасенко   (2005-06-24 16:06) [20]


> serguncho ©   (24.06.05 16:01) [18]
> UPDATE TBL_SECOND
> set Total=
> SELECT DISTINCT sum1 + sum2  from TBL_FIRST
> where tbl_second.id="103" and tbl_first.id="103"

WHERE TBL_SECOND.ID=TBL_FIRST.ID and TBL_FIRST.ID="103"


 
msguns ©   (2005-06-24 16:07) [21]

UPDATE TBL_SECOND S
set S.Total=SELECT F.sum1+F.sum2  from TBL_FIRST F
where (S.id=F.id) and (F.ID=103)

Почитайте заодно про параметрические запросы


 
msguns ©   (2005-06-24 16:08) [22]

Блин, скобки забыл ;(


 
msguns ©   (2005-06-24 16:08) [23]

Блин, скобки забыл ;(


 
serguncho ©   (2005-06-24 16:11) [24]

Плохиш ©   (24.06.05 16:04) [19]

Пишет:
"В операции дожен использоваться обновляемый запрос."
Какой-то косяк с UPDATE?
SELECT DISTINCT sum1 + sum2  from TBL_FIRST where tbl_first.id="103"
работает изумительно!


 
Плохиш ©   (2005-06-24 16:19) [25]


> serguncho ©   (24.06.05 16:11) [24]

У тебя ошибка в 17й строке


 
Плохиш ©   (2005-06-24 16:20) [26]


> serguncho ©   (24.06.05 16:11) [24]

Специально не поленился проверить. Изумительно работает.


 
Johnmen ©   (2005-06-24 16:22) [27]

>Плохиш ©   (24.06.05 16:20) [26]
>Специально не поленился проверить. Изумительно работает.

А надо - "работает изумительно".
:o)


 
Плохиш ©   (2005-06-24 16:23) [28]


> А надо - "работает изумительно".

Ну этого пускай автор сам добивается, с книжкой ;-)


 
serguncho ©   (2005-06-24 20:30) [29]

Все разобрался. Оказывается все работает, но почему-то вылетает ошибка
ADOQuery1:Command text doesn"t return a result set

Это как-то связано со связкой ADO+Access или что? Можно ли избежать ошибки?


 
sniknik ©   (2005-06-24 21:21) [30]

запрос не возвращает рекордсет, перекинь его в ADOCommand. связано естественно с глюком в твоем коде.


 
Плохиш ©   (2005-06-25 01:04) [31]


> serguncho ©   (24.06.05 20:30) [29]

ExecSQL. Читайте справку она рулез форева.


 
msguns ©   (2005-06-25 09:09) [32]

>serguncho ©   (24.06.05 16:11) [24]
>SELECT DISTINCT sum1 + sum2  from TBL_FIRST where tbl_first.id="103"
работает изумительно!

Еще бы ! Ведь сам запрос изумителен. Особенно DISTINCT (объясни его смысл в данном контексте) и символьный идентификатор ;)



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

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

Наверх




Память: 0.54 MB
Время: 0.115 c
14-1121146213
Ega23
2005-07-12 09:30
2005.07.31
С днем рождения! 12 июля


1-1121164730
Руслана
2005-07-12 14:38
2005.07.31
Подскажите по TStringList;


1-1121085218
paul_k
2005-07-11 16:33
2005.07.31
Как всегда наступил на грабли под названием AV В чем тут ошибка?


14-1120824367
Piter
2005-07-08 16:06
2005.07.31
Сохранение картинок в IE


14-1121060843
Antonn
2005-07-11 09:47
2005.07.31
Аналог ХР ного msconfig.exe в Win2K