С Новым годом! Форум программистов, компьютерный форум, киберфорум
Microsoft SQL Server
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
1 / 1 / 0
Регистрация: 10.02.2014
Сообщений: 98

Группировать не по полному значению поля

19.03.2014, 12:49. Показов 1307. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте.
Подскажите можно ли организовать такой запрос, чтобы из исходной таблицы данных произвести группировку, только не по полному значению поля, а по какой-то его части.

Например, чтобы строки со значениями (в которых одинаково "строка 1"):
-строка 1
-строка 1 расширенная
-строка 1 новая
-еще строка 1

сгруппировались как одна.
Вложение покажет какой в этом физический смысл
Вложения
Тип файла: xlsx groupby_01.xlsx (9.6 Кб, 7 просмотров)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
19.03.2014, 12:49
Ответы с готовыми решениями:

Динамическое изменение маски ввода поля по значению из поля со списком
Есть две таблицы. В Т1 есть поле со списком "Гражданство", значения берутся из Т2. Т2 имеет три поля: "Страна",...

Присвоение значению поля значение поля другой формы
Подскажите, плиз как реализовать, чтобы при нажатии кнопки "Заказать у поставщика2" на форме "Заказ", значение поля...

Условное форматирование поля по значению связанного поля
Добрый день! Подскажите, пожалуйста, как решить следующую проблему: есть форма, через которую заполняется сводная таблица(в ней...

11
146 / 143 / 32
Регистрация: 21.01.2012
Сообщений: 545
19.03.2014, 12:53
Может воспользоваться WHERE ... LIKE и объединить потом?
0
0 / 0 / 0
Регистрация: 18.03.2014
Сообщений: 24
19.03.2014, 13:00
Если ты можешь выделить часть маской, то не проще было бы вынести эту часть в отдельный столбец
additional?
0
1116 / 761 / 183
Регистрация: 27.11.2009
Сообщений: 2,272
19.03.2014, 13:12
Цитата Сообщение от ALARMus75 Посмотреть сообщение
сгруппировались как одна
Это как?! Что надо-то?
0
1 / 1 / 0
Регистрация: 10.02.2014
Сообщений: 98
19.03.2014, 13:23  [ТС]
Спасибо за ответы.
Ситуация такая, что имеется запрос который выдает такой результат (можно как его исправить, так и с результатом поработать дополнительно покрутить с ним запросы)

Суть в том, что строк много (во вложении я привел основные вариации, принцип так сказать).

-С помощью LIKE я смогу отобрать одинаковые записи, но они и так отобраны, как их посчитать как одну, а не N

-Касательно маски, может тогда в отдельную таблицу, в которой задать варианты для поиска на предмет содержания такого значения в строке первой таблицы (и просто делать count при найденном ?)
0
3614 / 2135 / 756
Регистрация: 02.06.2013
Сообщений: 5,169
19.03.2014, 13:47
Вам просто нужно иметь категории продуктов. Либо отдельным справочником, либо столбцом в справочнике продуктов. И группировать по категории.
Если справочников вообще нет, то ваша БД требует рефакторинга.
0
0 / 0 / 0
Регистрация: 18.03.2014
Сообщений: 24
19.03.2014, 14:11
Есть ещё вариант:
select NAME, SUBSTRING(PRODUCT,1,12) from SA_TEST_1 group by NAME, SUBSTRING(PRODUCT,1,12)
Если для primary soft name у вас конкретная длинна (AutoCAD 2010, AutoCAD 2010)

Если нет, то тогда только дополнительная таблица, джойн её с вашей и вместо 1, 12 параметров в substring подавать разницу len
0
1 / 1 / 0
Регистрация: 10.02.2014
Сообщений: 98
19.03.2014, 16:02  [ТС]
К сожалению все сложнее
Я немного упростил.
В реальности справочник такой (на примере одного продукта): "AutoCAD Electrical 2010 Commercial New NLM RU"

А варианты встречающиеся у пользователей:
-1->AutoCAD Electrical 2010
-Пакет локализации AutoCAD Electrical 2010 - Русский
-1->AutoCAD Electrical 2010 Version 2
-Пакет локализации AutoCAD 2010 - Русский
-1->AutoCAD 2010 - Русский
-2->AutoCAD Structural Detailing 2010 - Русский
-3->AutoCAD Architecture 2010 - Русский
-Пакет локализации AutoCAD Architecture 2010 - Русский
-Экспресс видеокурс Autodesk Autocad 2010

Запрос отбирает наличие слова AutoCAD, но увы, не все что содержит это слово
а) считать самим продуктом требующим учета (синим обозначено)
б) является самим продуктом, но не добавляет счётчик его количества (выделенные 1-> означает, что это один продукт, а не 3 штуки хоть он перечислен и 3 раза с немного отличным содержимым)
0
0 / 0 / 0
Регистрация: 18.03.2014
Сообщений: 24
19.03.2014, 16:31
Логичнее сделать темплейт с полями PRODUCT и BASE_NAME и поместить туда все имеющееся варианты (Соответственно для 1-> нужно выбрать одинаковое BASE_NAME, а для всех (синим обозначено) - тоже одно, но исключать это значение из конечного запроса where). Потом, когда будут выходить новые версии продуктов, делать insert в таблицу-темплейт. Затем при необходимости делать join к темплейту, вернее темплейта к необходимой таблице с group by, но уже исключённым из него полем PRODUCT (вместо него использовать BASE_NAME) и получать то что требуется.
0
1 / 1 / 0
Регистрация: 10.02.2014
Сообщений: 98
19.03.2014, 16:45  [ТС]
т.е. все же вручную все перечислять надо, полагал можно как-то автоматизировать отбор указав каким-либо образом, что-то общее в них [так как - это только в этом продукте такой набор, в других другой]
0
0 / 0 / 0
Регистрация: 18.03.2014
Сообщений: 24
19.03.2014, 16:57
Слишком сложно для SQL: не такой он уж и умный, чтоб одним запросом всё сгенерить )). Тем более, говоришь, в других продуктах другой набор.
0
1313 / 945 / 144
Регистрация: 17.01.2013
Сообщений: 2,348
19.03.2014, 17:56
Цитата Сообщение от ALARMus75 Посмотреть сообщение
Подскажите можно ли организовать такой запрос, чтобы из исходной таблицы данных произвести группировку, только не по полному значению поля, а по какой-то его части.
Формально - может быть, так?
T-SQL
1
2
3
4
5
group by case
  when name like '%AutoCad%' then 1
  when name like '%Excel%' then 2
  else 3
  end
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
19.03.2014, 17:56
Помогаю со студенческими работами здесь

Автозаполнение поля в форме по значению другого поля
Здравствуйте Имеется форма в которой одно поле (ПолеСоСписком60) заполняется выбором значения из списка а второе поле (Станция Мир)...

Значения поля формы по значению другого поля
Здравствуйте! У меня следующая ситуация: создаю в Access базу данных для колл-центра. Смысл её - в том, чтобы операторы вбивали данные...

Цвет поля формы по значению поля другой формы (таблицы)
Привет всем! Три таблицы и формы соответственно: "ОБЪЕКТ" 1:М "ПЕРИОД" 1:М "ГРАФИК" Другая (несвязанная) таблица (и форма)...

Фильтрация поля по значению
Стоит такая задача: вывести три последние записи из таблицы с определенным id. Написал так: SELECT name FROM table WHERE id=$id ORDER...

Поиск по значению поля
Добрый день в акссесе на форме присутствует поле со списком --при выборе элемента в этом поле, автоматически выбранное пересылается...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru