Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
102 / 93 / 36
Регистрация: 01.04.2013
Сообщений: 654
1

Записать значение новой колонки по группируемым полям

23.06.2017, 21:20. Показов 448. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Есть таблица приходов товара. В ней (помимо других) есть поля "номер на предприятии" и "номер на упаковке" (company_number и pack_number), по которым происходит группировка при формировании остатков товара.
Остатки товара формируются примерно таким запросом
SQL
1
2
3
4
5
SELECT company_number, pack_number, 
                  COUNT(DISTINCT IF(gr.consumption_id IS NULL, fr.id, NULL)) AS total_goods, ...
FROM good_arrival ga ...
GROUP BY company_number, pack_number HAVING total_goods > 0
ORDER BY company_number, pack_number
Попросили добавить колонку "комментарий" к остаткам товара. Но т.к. физически таблицы остатков нет, то вижу только способ через создание ещё одной таблицы balance_comment с полями
  • company_number
  • pack_number
  • comment
и присоединение её LEFT JOIN'ом по полям company_number, pack_number к запросу остатков товара.
Создать ещё одну таблицу в БД конечно не проблема. Но ради функции, которой вряд ли будут часто пользоваться (если вообще будут) не хочется этого делать.
Может есть какой-то изящный способ прицепить комменты?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.06.2017, 21:20
Ответы с готовыми решениями:

1С предприятие 8.2. Получить значение из колонки и записать его в другую
Доброго времени суток! Я в этом крайне слаб. Даже не знаю куда толком смотреть и где искать, хоть...

Заполнение новой колонки в соответствии с условием
Доброго времени суток, форумчане. Есть задача: "Добавить столбец в табл. клиента "скидка"....

Добавление новой колонки в ФОРМЕ СПИСКА у документа
Нужно в форме списка вывести новую колонку в которой будет содержаться документ который введен на...

Как программно добавить в DbGrid показ новой колонки?
Добавляю столбец программно в Access запросом через ADO, обновляю все пустые поля в нем на строку...

2
313 / 312 / 221
Регистрация: 11.07.2015
Сообщений: 1,107
24.06.2017, 12:33 2
В таблицу good_arrival можно добавить поле, но отдельная таблица balance_comment будет меньше занимать места

Добавлено через 6 минут
Можно создать отдельную таблицу "остатки"
1
102 / 93 / 36
Регистрация: 01.04.2013
Сообщений: 654
24.06.2017, 12:42  [ТС] 3
Цитата Сообщение от plohoyav Посмотреть сообщение
В таблицу good_arrival можно добавить поле
В good_arrival уже есть коммент прихода. А если добавить ещё одно поле, то тогда дублировать коммент придётся во все приходы с полями company_number, pack_number
Цитата Сообщение от plohoyav Посмотреть сообщение
Можно создать отдельную таблицу "остатки"
Да это уж как-то совсем геморрой будет. При приходе, расходе и перемещении ещё и эту таблицу надо затрагивать.
0
24.06.2017, 12:42
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.06.2017, 12:42
Помогаю со студенческими работами здесь

При попытке присвоить полям новой структуры значений типа AnsiString появляется ошибка Access Violation
При попытке присвоить полям новой структуры значений типа AnsiString появляется ошибка. Как я...

Прочитать из файла информацию и записать по соответствующим полям структуры
Имеется некоторый файл. Открыт, указатель передан в функцию. Нужно прочитать из него информацию и...

программа, которая бы вычисляла среднее значение, максимальный и минимальный элемент второй колонки Excel и выводила это значение на экран
Тема: «Чтение и обработка табличных данных с использованием языка C++» Цель: Научиться сохранять...

Нужно записать данные из колонки в массив
есть таблица table_test и в ней несколько колонок. Как записать колонку ustest в массив?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru