Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Cуммирование столбца таблицы / 20 сообщений из 20, страница 1 из 1
26.06.2006, 17:59
    #33815187
Novice in PB
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cуммирование столбца таблицы
Подскажите можно ли вывести сумму одного столбца таблицы в поле sle и как?
...
Рейтинг: 0 / 0
26.06.2006, 18:34
    #33815279
Филипп
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cуммирование столбца таблицы
Novice in PBПодскажите можно ли вывести сумму одного столбца таблицы в поле sle и как?
А зачем в sle?
...
Рейтинг: 0 / 0
26.06.2006, 18:57
    #33815335
Локшин Марк
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cуммирование столбца таблицы
Из DataWindow вот так
Код: plaintext
sle_1.text = ds.Describe("evaluate(sum column_name for all )',1)")
из базы
Код: plaintext
select cast(sum(column_name) as varchar) into :sle_1.text from table_name;
...
Рейтинг: 0 / 0
26.06.2006, 18:58
    #33815336
Dmitry.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cуммирование столбца таблицы
Код: plaintext
1.
2.
3.
4.
5.
double d

select sum(field_name) into :d from table_name where ... ;

sle_1.text=string(d)
...
Рейтинг: 0 / 0
26.06.2006, 19:23
    #33815398
Novice in PB
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cуммирование столбца таблицы
Филипп
А зачем в sle?
А куда нужно?
...
Рейтинг: 0 / 0
26.06.2006, 19:29
    #33815411
Novice in PB
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cуммирование столбца таблицы
Локшин Марк, Dmitry СПАСИБО!!!
...
Рейтинг: 0 / 0
28.06.2006, 06:12
    #33818141
Novice in PB
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cуммирование столбца таблицы
А как сделать, чтобы при удалении строки в поле ID не сбивался счет (Свойство Identity = Yes)
...
Рейтинг: 0 / 0
28.06.2006, 06:24
    #33818146
Novice in PB
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cуммирование столбца таблицы
Novice in PBА как сделать, чтобы при удалении строки в поле ID не сбивался счет (Свойство Identity = Yes)
Или как при удалении всех записей сделать счет сначала?
...
Рейтинг: 0 / 0
28.06.2006, 09:41
    #33818366
Локшин Марк
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cуммирование столбца таблицы
Novice in PBА как сделать, чтобы при удалении строки в поле ID не сбивался счет (Свойство Identity = Yes)
Это не нужно, не нужно пользоваться автоинкрементным полем для нумерации документов.
Novice in PBИли как при удалении всех записей сделать счет сначала?
Зависит от используемой СУБД.
...
Рейтинг: 0 / 0
28.06.2006, 11:15
    #33818673
Novice in PB
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cуммирование столбца таблицы
Локшин Марк
Зависит от используемой СУБД.
SQL Server2000
...
Рейтинг: 0 / 0
28.06.2006, 11:41
    #33818773
Локшин Марк
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cуммирование столбца таблицы
Код: plaintext
DBCC CHECKIDENT (table_name, RESEED,  1 )
Только Вам это не нужно .
...
Рейтинг: 0 / 0
28.06.2006, 16:17
    #33819741
Novice in PB
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cуммирование столбца таблицы
Локшин Марк
Код: plaintext
DBCC CHECKIDENT (table_name, RESEED,  1 )
Только Вам это не нужно .
Почему? Как же я буду обновлять базу после удаления всех записей, индекс у меня будет не 1, а хранимые процедуры связаны с индексом. Или есть другой вариант?
...
Рейтинг: 0 / 0
28.06.2006, 16:44
    #33819828
Novice in PB
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cуммирование столбца таблицы
Локшин Марк
Код: plaintext
DBCC CHECKIDENT (table_name, RESEED,  1 )

А как это перенести в PB?
...
Рейтинг: 0 / 0
28.06.2006, 17:12
    #33819921
Локшин Марк
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cуммирование столбца таблицы
Novice in PBА как это перенести в PB?
Ну что-нибудь типа
Код: plaintext
1.
2.
3.
string s
s = "DBCC CHECKIDENT (table_name, RESEED, 1)"
execute immediate :s;
Novice in PBПочему? Как же я буду обновлять базу после удаления всех записей, индекс у меня будет не 1, а хранимые процедуры связаны с индексом. Или есть другой вариант?
Ну и что? Какая для компьютера разница начинается с 1 автонумерация или с 5983? Есть ли "дырки" в нумерации или нет. Если Вы хотите иметь номер строки, то такого понятия в реляционной модели нет . Если Ваши хранимые процедуры оперируют номером строки, а не идентификатором, то это плохие хранимые процедуры и их необходимо переписать с использованием идентификатора (автоинкрементного поля), а не номера по порядку, ибо к последнему автоинкрементное поле никакого отношения не имеет.
...
Рейтинг: 0 / 0
28.06.2006, 17:52
    #33820045
Novice in PB
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cуммирование столбца таблицы
Спасибо за совет.
А можно насчет этого по подробней.
Локшин Марк хранимые процедуры оперируют номером строки, их необходимо переписать с использованием идентификатора (автоинкрементного поля).
...
Рейтинг: 0 / 0
28.06.2006, 17:58
    #33820071
Локшин Марк
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cуммирование столбца таблицы
Novice in PBА можно насчет этого по подробней.
Приведите пример такой процедуры в которой существенной по-вашему является нумерация по порядку и скажите что она должна делать (желательно небольшую процедуру).
...
Рейтинг: 0 / 0
28.06.2006, 18:14
    #33820118
Novice in PB
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cуммирование столбца таблицы
Локшин МаркПриведите пример такой процедуры в которой существенной по-вашему является нумерация по порядку и скажите что она должна делать (желательно небольшую процедуру).
Например:

CREATE PROCEDURE call_dis AS
declare @k int
declare @c int
declare @d int
declare @z int
DECLARE discur CURSOR STATIC LOCAL FOR
SELECT discounts.[id] FROM discounts
OPEN discur
fetch last from discur into @z
close discur
deallocate discur
set @k=1
WHILE @k<@z+1
begin
exec @d=discount @k
update buyers
set discount=@d
where [ID]=@k

SET @k=@k+1
end
GO

--Находит количество дисков купленных определенным покупателем
CREATE procedure dis (@c int) as
declare @count int
select @count=count(buyer) from discounts where buyer=@c
return @count
GO

Эти две процедуры вычисляют скидку для каждого покупателя. Определяя сколько раз он покупал и заносят число покупак в таблицу discounts
...
Рейтинг: 0 / 0
28.06.2006, 19:00
    #33820220
Локшин Марк
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cуммирование столбца таблицы
Novice in PBЭти две процедуры вычисляют скидку для каждого покупателя. Определяя сколько раз он покупал и заносят число покупак в таблицу discounts
1. В первой процедуре ошибка.
Код: plaintext
SELECT discounts.[id] FROM discounts 
без
Код: plaintext
order by discounts.[id]
не гарантирует выборки в возрастающей последовательности (сделайте, например, кластерный индекс в таблице discounts не по id и посмотрите на результат выборки). И это не единственная возможность для "разупорядочивания" выборки.
2. Возрастание вида 3,7,122, 3456 для этой задачи ничем не отличается от возрастания вида 1,2,3,4
...
Рейтинг: 0 / 0
29.06.2006, 09:41
    #33820808
Novice in PB
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cуммирование столбца таблицы
Ну попробую,
а этого у меня в х/п не было:
Локшин Маркбез
Код: plaintext
order by discounts.[id]
...
Рейтинг: 0 / 0
29.06.2006, 09:58
    #33820872
Локшин Марк
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cуммирование столбца таблицы
Novice in PBа этого у меня в х/п не было:
Ну, так в этом и ошибка.
...
Рейтинг: 0 / 0
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Cуммирование столбца таблицы / 20 сообщений из 20, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]