Главная страница
    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.51 MB
Время: 0.036 c
14-1121080212
vers
2005-07-11 15:10
2005.07.31
Прикол Delphi 2005


1-1121171705
race1
2005-07-12 16:35
2005.07.31
Перемещение панели


3-1119440610
stelius
2005-06-22 15:43
2005.07.31
регулярные выражения в oracle


1-1121291309
Ibrox
2005-07-14 01:48
2005.07.31
Новое окно браузера


1-1121163862
ANB
2005-07-12 14:24
2005.07.31
Как достать текстовое значение Enumeration переменной ?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский