Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Супер простой вопрос / 15 сообщений из 15, страница 1 из 1
15.11.2002, 11:57:13
    #32068259
nandji
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Супер простой вопрос
Ситуация: есть накладная, позиции в ней могут измеряться в штуках, килограммах, литрах, метрах, комплектах (причем комплект может состоять из 2х литров 3х килограмм и 4х метров и он формируется при подборе и продается как единица товара :) соответственно в следующий раз комплект может быть саавсем другим). Строчная часть документа обычно содержит порядка 30 - 40 позиций ...
Так вот в журнале документов надо постоянно видеть суммарные значения скока кило скока литров и т.п. продано. Есть какиенибудь красивые варианты реализации ?
...
Рейтинг: 0 / 0
15.11.2002, 12:13:33
    #32068274
funikovyuri
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Супер простой вопрос
Давайте больше информации
Что такое журнал документов?
...
Рейтинг: 0 / 0
15.11.2002, 12:26:31
    #32068286
Glory
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Супер простой вопрос
Я бы шел от обратного
- товар всегда продается в одной и той же единице измерения
- позиция в накладной может иметь признак принадлежности к комплекту товаров ( id комплекта)
- имеется дополнительная таблица, содержащая все комплекты товаров.
...
Рейтинг: 0 / 0
15.11.2002, 12:39:54
    #32068306
vap
vap
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Супер простой вопрос
Не совсем понятен вопрос, но что мешает при сохранении документа сделать запрос и сгруппировать итоги по измерению. Потом его перевести в строку и отображать на экране.
...
Рейтинг: 0 / 0
15.11.2002, 13:51:40
    #32068352
nandji
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Супер простой вопрос
Сейчас делается так ... запрос для журнала читает не только шапки документов но и таблицу строчной части
примерно так

Код: plaintext
1.
2.
3.
4.
5.
6.
select doc,
sum(case stroki.edizm when kg then stroki.kolvo end) as kilos,
sum(case stroki.edizm when shtuki then stroki.kolvo end) as shtuk,
sum(case stroki.edizm when litr then stroki.kolvo end) as litr
from shapka, stroki
where shapka.doc = stroki.doc
group by doc
...
Рейтинг: 0 / 0
15.11.2002, 13:54:46
    #32068354
nandji
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Супер простой вопрос
текст бутафорский передает только смысл , но на самом деле запрос гораздо тяжелее

может быть сделать дополнительную табличку хранить в ней значения аггрегаций для документа?
...
Рейтинг: 0 / 0
15.11.2002, 14:07:26
    #32068363
vap
vap
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Супер простой вопрос
Сложные значения проще хранить в доп. столбце а не вычислять из каждый раз. Например обновлять можно в тригере на UPDATE таблицы strokii. Или при сохранении документа.
...
Рейтинг: 0 / 0
15.11.2002, 22:33:43
    #32068563
Cat2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Супер простой вопрос
Как всегда, я предпочитаю не решать проблемы, а снимать их.
У меня жуткие сомнения, что этот поиск нафиг не нужен.
Обрисуйте, для чего используется этот max.
...
Рейтинг: 0 / 0
15.11.2002, 22:35:28
    #32068566
Cat2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Супер простой вопрос
Насорил. Предыдущий ответ был отправлен не туда, куда надо.
...
Рейтинг: 0 / 0
18.11.2002, 05:55:16
    #32068783
Denis@nk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Супер простой вопрос
Передомной вырисовывается подобная задача. Пока я думал о том, чтобы сделать таблицу, в которой будут занесены коэффициенты перевода из одной единицу в другую, чтобы привести в соответствие.
...
Рейтинг: 0 / 0
19.11.2002, 10:28:33
    #32069414
nandji
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Супер простой вопрос
вот в соответствие как раз и не нужно ..
нужно знать сколько литров сколько метров и т.д. и т.п.
а если в запросе суммировать по подчиненной таблице да еще с CASE то получается долго :(
В принципе если выносить эту информацию в отдельный отчет то все намана ... Но в этом блин и фишка хотят чтоб в главном журнале ... а пользователей много ... интенсивная работа .. в общем учитывая все факторы время выполнения запроса можно оценивают так ДОЛГО!!! А можно ли быстрее? Нет? А надо!!!
...
Рейтинг: 0 / 0
19.11.2002, 10:54:57
    #32069441
MiCe
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Супер простой вопрос
в записях документа хранить кол-во только в основных еденицах... в дополнительном поле ссылка на тип комплектации....
сут в том что комплекты должны фигурировать где угодно , кроме как внутри склада...
...
Рейтинг: 0 / 0
19.11.2002, 12:51:38
    #32069567
nandji
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Супер простой вопрос
А есть ли смысл делать такую еще табличку

Т(
документ
килограммов
литров
ед.изм1
...
ед.измN)

где хранить суммарные значения по единицам измерения по документу чтобы не считать ?
журнал большой ~15000 документов в месяц документы по 30-40 позиций
...
Рейтинг: 0 / 0
20.11.2002, 01:45:27
    #32069892
MiCe
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Супер простой вопрос
в зависимости от распределения нагрузки....
если отчеты строятся часто то нужно если нет то ненадо...
можно поддерживать ее и без триггера...
...
Рейтинг: 0 / 0
21.11.2002, 12:16:03
    #32070672
nandji
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Супер простой вопрос
вот именно ... см.условие :))
эти цифры должны быть видны в журнале документов например расхНакладных, а журнал постоянно рекверится
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Супер простой вопрос / 15 сообщений из 15, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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