Гость
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Запрос на исключение,не могу сообразить. / 15 сообщений из 15, страница 1 из 1
24.02.2019, 21:04
    #39778534
wladimirrr
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос на исключение,не могу сообразить.
Приветствую всех! Помогите решить задачку, голову уже сломал(.
Есть табл. Гамма и подчиненная табл. Цвета. На каждую Гамму набираем несколько цветов. Надо создать запрос, который бы отбирал те гаммы, в которых НЕТ определенного цвета, например синего.
...
Рейтинг: 0 / 0
24.02.2019, 22:44
    #39778557
Шаман
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос на исключение,не могу сообразить.
Так подойдет?
...
Рейтинг: 0 / 0
24.02.2019, 22:51
    #39778560
wladimirrr
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос на исключение,не могу сообразить.
Шаман, спасибо! Интересное решение, но у меня немного другая конструкция бд. Прикрепляю (надо было сразу прикрепить, сорри).
...
Рейтинг: 0 / 0
24.02.2019, 23:23
    #39778573
Шаман
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос на исключение,не могу сообразить.
wladimirrr...но у меня немного другая конструкция бд.Конструкция бд практически одинаковая. Разница в названии таблицы подбора гаммы и ключевых связях. Я немного подправил Ваш пример и запрос показывает то, что надо.
...
Рейтинг: 0 / 0
25.02.2019, 04:41
    #39778594
Панург
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос на исключение,не могу сообразить.
wladimirrrНадо создать запрос, который бы отбирал те гаммы, в которых НЕТ определенного цвета, например синего.
Код: sql
1.
2.
3.
SELECT гамма.название
FROM гамма
WHERE not гамма.код_гаммы=Any (SELECT код_гаммы FROM описание_гаммы WHERE цвет="Синий");
...
Рейтинг: 0 / 0
25.02.2019, 09:49
    #39778642
wladimirrr
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос на исключение,не могу сообразить.
Панург, ,большое спасибо! Это именно то, что нужно!
...
Рейтинг: 0 / 0
26.02.2019, 13:24
    #39779270
wladimirrr
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос на исключение,не могу сообразить.
Панург, помогите еще, запутался я в синтаксисе(. Как будет выглядеть более сложный запрос, если надо выбрать, к примеру, те гаммы в которых нет цвета "Синий" ИЛИ цвет "Синий" есть, но с насыщенностью = 25?
...
Рейтинг: 0 / 0
26.02.2019, 14:00
    #39779300
studieren
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос на исключение,не могу сообразить.
wladimirrrПанург, помогите еще, запутался я в синтаксисе(. Как будет выглядеть более сложный запрос, если надо выбрать, к примеру, те гаммы в которых нет цвета "Синий" ИЛИ цвет "Синий" есть, но с насыщенностью = 25?

Код: sql
1.
2.
3.
SELECT гамма.название
FROM гамма
WHERE EXISTS (SELECT код_гаммы FROM описание_гаммы WHERE цвет<>"Синий" OR (цвет="Синий" AND насыщенность = 25));



P.S. Сам не проверял, но должно работать если названия полей и таблицы корректны.
...
Рейтинг: 0 / 0
26.02.2019, 14:11
    #39779309
Запрос на исключение,не могу сообразить.
wladimirrrесли надо выбрать, к примеру, те гаммы в которых нет цвета "Синий" ИЛИ цвет "Синий" есть, но с насыщенностью = 25? Может так?
Код: plsql
1.
2.
3.
SELECT гамма.название
FROM гамма
WHERE not гамма.код_гаммы=Any (SELECT код_гаммы FROM описание_гаммы WHERE (цвет="Синий") AND (насыщенность <> 25));

Можно еще попробовать вариант с EXSISTS вместо ANY (побыстрее вроде)
Код: plsql
1.
2.
3.
SELECT гамма.название
FROM гамма
WHERE NOT EXSISTS (SELECT * FROM описание_гаммы WHERE (описание_гаммы.код_гаммы = гамма.код_гаммы) AND (цвет="Синий") AND (насыщенность <> 25));
...
Рейтинг: 0 / 0
26.02.2019, 14:17
    #39779317
wladimirrr
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос на исключение,не могу сообразить.
studieren, нет, не хочет он так. Гамма1 не должна попадать в результат выборки.
...
Рейтинг: 0 / 0
26.02.2019, 15:04
    #39779349
wladimirrr
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос на исключение,не могу сообразить.
Кривцов Анатолий, с Any работает, спасибо! Потестирую еще.
...
Рейтинг: 0 / 0
26.02.2019, 16:03
    #39779396
wladimirrr
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос на исключение,не могу сообразить.
Кривцов Анатолий, а если еще одно условия выборки добавляем: Выбрать те гаммы в которых не цвета "Синий" ИЛИ есть цвет "Синий" с насыщенностью = 25 и прозрачностью = "va".
Бд прикрепляю.
...
Рейтинг: 0 / 0
26.02.2019, 16:38
    #39779425
wladimirrr
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос на исключение,не могу сообразить.
Вот так, вроде работает.
Код: sql
1.
2.
3.
4.
SELECT гамма.название, гамма.код_гаммы
FROM гамма
WHERE not гамма.код_гаммы=Any (SELECT код_гаммы FROM описание_гаммы WHERE цвет="Синий") 
      OR гамма.код_гаммы=Any (SELECT код_гаммы FROM описание_гаммы WHERE цвет="Синий" AND насыщенность = 25 And прозрачность = "va");
...
Рейтинг: 0 / 0
26.02.2019, 22:14
    #39779531
sdku
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос на исключение,не могу сообразить.
как вариант-см.Form1
...
Рейтинг: 0 / 0
28.02.2019, 22:22
    #39780670
wladimirrr
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос на исключение,не могу сообразить.
sdku, спасибо!
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Запрос на исключение,не могу сообразить. / 15 сообщений из 15, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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