Я начну с признания того, что моя проблема, скорее всего, является результатом плохого дизайна, так как я не могу ничего найти об этом в другом месте. Тем не менее, давайте запачкаемся.
У меня есть таблица действий и таблица ActivitySegments. Таблица действий выглядит примерно так:
Activityid (Ident) | actdate (datetime) | Актуация (дата / время) | номер билета (числовой) |
ActivitySegments выглядит примерно так
сегментированный (идент.) | тикетид (числовой) | Activityid (числовой) | дата начала | время начала | конец | конечное время
Это функция отслеживания времени в интрасети. «Старый способ» состоит в использовании таблицы активности. Они хотят иметь возможность отслеживать отдельные сегменты работы в течение дня с помощью механизма запуска / остановки и делать так, чтобы они сворачивались в записи в таблице действий. Вариант использования: пользователь должен иметь возможность выбрать любые / все сегменты, с которыми он работал в этот день, и сгруппировать их по ticketid и вставить в таблицу действий. У меня это работает. Я посылаю строку значений, разделенных запятыми, которые соответствуют сегментам, в sproc, который помещает их во временную таблицу. Итак, у меня есть две вышеупомянутые таблицы и временная таблица с одним столбцом соответствующих сегментид. Разве они все не могут ужиться друг с другом?
Мне нужно взять эти переданные идентификаторы сегмента активности, сгруппировать их по номеру билета и суммировать продолжительность, отработанную для каждого билета (у меня уже есть sql для этого). Затем вставьте этот набор данных в таблицу действий, НО также получите новый идентификатор действия @@ и обновите таблицу действий с соответствующим значением.
В процедурном программировании я бы зациклил вставку, получил бы @@ тождество и сделал бы что-то еще, чтобы выяснить, какие сегментиды пошли на создание этого Activityid. Я почти уверен, что думаю обо всем этом неправильно, но приближается крайний срок, и я два дня смотрел на студию управления SQL, потратил впустую листы бумаги и прожег слишком много сигарет. Я вижу SQL для умников в ближайшем будущем, до тех пор, может ли кто-нибудь мне помочь?