Форум программистов, компьютерный форум, киберфорум
Microsoft SQL Server
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
0 / 0 / 0
Регистрация: 01.03.2017
Сообщений: 3

Выбор уникальной записи из массива

06.03.2017, 21:35. Показов 1372. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго дня, возможно тема не отображает точно поставленного вопроса - я постараюсь изложить его.
Смысл в следующем - имеется таблица с номерами заказов и номером склада, где этот заказ нужно получить. Выглядит она следующим образом:
Кликните здесь для просмотра всего текста
idNNUMSKL
96717284303SKLAD25
96703284304SKLAD01
96709284304SKLAD21
96706284304SKLAD22
96708284304SKLAD23
96705284304SKLAD27
96704284304SKLAD29
96707284304SKLAD32
98239284306SKLAD29
98108284307SKLAD03
98873284308SKLAD01
98870284308SKLAD02
98875284308SKLAD09
98876284308SKLAD12
98874284308SKLAD14
98871284308SKLAD31
98877284308SKLAD32
52308283060SKLAD23
52307283060SKLAD24
52310283060SKLAD29
52303283060SKLAD30
52305283060SKLAD31
52306283060SKLAD32
51531283063SKLAD02
98095283064SKLAD06
98093283064SKLAD13
98094283064SKLAD31
51749283065SKLAD02
51751283065SKLAD10
51750283065SKLAD29
97899283066SKLAD05
97898283066SKLAD23
97897283066SKLAD24
97895283066SKLAD27
97896283066SKLAD32
97904283067SKLAD01
97900283067SKLAD02
97905283067SKLAD03
97910283067SKLAD03
97906283067SKLAD09
97902283067SKLAD10
97910283067SKLAD11
97910283067SKLAD15
97907283067SKLAD22
97901283067SKLAD28
97908283067SKLAD30
97903283067SKLAD31
60874283068SKLAD07
60875283068SKLAD10
51992283076SKLAD03
52000283076SKLAD04
51999283076SKLAD06
51994283076SKLAD08
51995283076SKLAD09
51996283076SKLAD11
51993283076SKLAD13
99095283077SKLAD04
99084283077SKLAD06
99092283077SKLAD08
99088283077SKLAD12
99085283077SKLAD14
99083283077SKLAD21
99089283077SKLAD27
99090283077SKLAD28
99091283077SKLAD30
99087283077SKLAD32
52090283078SKLAD02
52089283078SKLAD12
52099283079SKLAD15

Мне необходимо выбрать все номера заказов, у которых заказ нужно забирать только из склада, номер которого больше 20 и при этом в этом же заказе не было позиций, которые были в складах до 20. То есть например заказ 284308 не должен быть выбран, а заказ 283060 должен попасть в список.
Я уже сломал голову и перерыл кучу инфы, но так и не могу понять, как реализовать нужный мне запрос. Или я вопрос не так в поиске задаю. В общем надежда только на помощь.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
06.03.2017, 21:35
Ответы с готовыми решениями:

Максимальное количество для каждой уникальной записи
Есть таблица, в которой, например, фиксируются покупки в какой-то сети магазинов. Магазин Товар м1 т1 м1 т2 м2 т2 м2 т3...

Запрос на добавление уникальной записи
Есть таблица, которая состоящая из 2х полей: ФИОпользователя, Login, тип обоих - текст Необходимо чтобы таблица пополнялась (insert...

GROUP BY вывод из бд последней уникальной записи
Доброго времени суток сталкнулся с проблемкой есть скрипт вывода из бд по средством GROUP BY $result = mysql_query("SELECT * FROM...

4
3614 / 2135 / 756
Регистрация: 02.06.2013
Сообщений: 5,169
06.03.2017, 21:45
Лучший ответ Сообщение было отмечено flashvrn1 как решение

Решение

T-SQL
1
2
3
4
5
6
7
8
select
 NNUM
from
 Таблица
group by
 NNUM
having
 count(*) = sum(case when SKL >= SKLAD20 then 1 else 0 end);
1
0 / 0 / 0
Регистрация: 01.03.2017
Сообщений: 3
06.03.2017, 22:02  [ТС]
invm, спасибо огромное
Практически в точку. Заругалось на тип, т.к. склад - это varchar, я изменил последнюю строчку на
T-SQL
1
 count(*) = sum(case when SKL in ('SKLAD20','SKLAD21','SKLAD22','SKLAD23','SKLAD24','SKLAD25','SKLAD26','SKLAD27','SKLAD28','SKLAD29','SKLAD30') then 1 else 0 end);
И все получилось
0
3614 / 2135 / 756
Регистрация: 02.06.2013
Сообщений: 5,169
06.03.2017, 22:39
Лучший ответ Сообщение было отмечено flashvrn1 как решение

Решение

flashvrn1, если номер склада всегда две цифры, то
T-SQL
1
SKL >= 'SKLAD20'
1
0 / 0 / 0
Регистрация: 01.03.2017
Сообщений: 3
06.03.2017, 22:47  [ТС]
invm, еще раз спасибо.
Уже понял. Не знал что case может работать подобным образом
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
06.03.2017, 22:47
Помогаю со студенческими работами здесь

Как вывести количество каждой уникальной записи в таблице?
Доброго времени суток, уважаемые программисты! Такая ситуация... Есть таблица img в нём столбец kat. В столбце kat к примеру такая...

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

Запрос подсчета количества вхождений каждой уникальной записи в таблице
Пожалуйста, помогите решить проблему, а то уже "сломал глову". Есть 2 таблицы: 1. users - зарегистрированные пользователи, с полями...

Привязка уникальной таблицы к каждой записи в "родительской" таблице
Здравствуйте! У меня есть таблица_1, в которую постепенно добавляются данные. Достаточно мало данных, чтобы о чем-то переживать. В то...

ListView: добавление записи, выбор записи, удаление записи
на форме есть три текст бокса: textbox1(имя), textbox2(фамилия), textbox3(отчество), textbox4(выбранное) кнопка Button1(добавить),...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
YAFU@home — распределённые вычисления для математики. На CPU
Programma_Boinc 20.01.2026
YAFU@home — распределённые вычисления для математики. На CPU YAFU@home — это BOINC-проект, который занимается факторизацией больших чисел и исследованием aliquot-последовательностей. Звучит. . .
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит: токи, напряжения и их 1 и 2 производные при t = 0;. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru