powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Исключающий запрос
9 сообщений из 9, страница 1 из 1
Исключающий запрос
    #36066787
Qwed86
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть таблица:
номерзначение1ааааа2ааааа3ааааа1ввввв2ввввв1ссссс2ссссс2ддддд3ддддд3еееее
Нужно чтоб остались только значения для которых нет номера предположим 1.
Т.е. для ааааа есть и 1 и 2 и 3, для ввввв 1 и 2, для ссссс тоже и 1 и 2, а для ддддд 2 и 3, единицы нет как и для еееее. Значит после запроса должно выдаваться
ддддд
еееее

Модератор: таблицы надо рисовать с помощью кнопки CSV
...
Рейтинг: 0 / 0
Исключающий запрос
    #36066796
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если не особо задумываться то можно сделать так:
Код: plaintext
1.
2.
3.
4.
select value
from table t1 
where not exists (select * 
                  from table t2 
                  where t1.value=t2.value and t2.number= 1 )
...
Рейтинг: 0 / 0
Исключающий запрос
    #36066805
Qwed86
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вроде всё правильно спасибо, записей много так сразу не определить.
...
Рейтинг: 0 / 0
Исключающий запрос
    #36066823
SQLMantis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White OwlЕсли не особо задумываться то можно сделать так:
Код: plaintext
1.
2.
3.
4.
select value
from table t1 
where not exists (select * 
                  from table t2 
                  where t1.value=t2.value and t2.number= 1 )


Ха, тоже мне незадумались!
Вот как надо незадумываться :)
Код: plaintext
1.
2.
3.
select distinct(value) 
from table1 
where value not in (select value from table1 where number= 1 )
...
Рейтинг: 0 / 0
Исключающий запрос
    #36066828
Qwed86
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Тоже подходит спасибо, distinct правильно, надо.
...
Рейтинг: 0 / 0
Исключающий запрос
    #36068884
Qwed86
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вопрос несколько изменился, нужно чтоб остались значения где нет 1, но есть все остальные, в данном случаи 2 и 3.
Т.е. для нашего примера должно остаться только ддддд.
...
Рейтинг: 0 / 0
Исключающий запрос
    #36069155
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
select [ЗНАЧЕНИЕ]
  from t as t0
 where not exists(
                   select null 
                     from t as t1 
                    where t1.[ЗНАЧЕНИЕ] = t0.[ЗНАЧЕНИЕ] 
                      and t1.[НОМЕР] =  1 
                 )
 group by [ЗНАЧЕНИЕ]
having (select count(distinct [НОМЕР]) 
          from t 
         where [НОМЕР] !=  1 ) = count(distinct [НОМЕР]);
...
Рейтинг: 0 / 0
Исключающий запрос
    #36069180
Qwed86
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый Э - Эх
Спасибо
...
Рейтинг: 0 / 0
Исключающий запрос
    #36076650
Qwed86
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Что-то у меня никак не получается обратная задачка:
Нужно убрать значения которым соответствуют все номера кроме 1.
Т.е. для примера из первого поста нужно чтоб остались все кроме ддддд, т.к. у ддддд есть все номера кроме 1.
Вроде как понятно объяснил, доп. условия естественно теже, может любое количество номеров и не по порядку 1, 3,4 например.
Помогите кто разобрался с этим.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Исключающий запрос
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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