powered by simpleCommunicator - 2.0.54     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Исключение записей в запросе
6 сообщений из 6, страница 1 из 1
Исключение записей в запросе
    #39334110
Доброго времени суток всем!

Делаю обычный запрос на выборку, подтягивая продажи из основной таблицы `факт_продаж_рукнапы_2016` и планы из `план_рукнап_2016` посредством UNION, чтобы обновлять на его основании сводную таблицу:

SELECT [год договора], [месяц договора], [квартал договора], Рукнап, Партнеры, Бренд, [RS ID], [Наименование фирмы], [Count-№ Договора], 0 as [План,руб], [Sum-сумма кредита] as [Факт, руб]
FROM факт_продаж_рукнапы_2016
UNION SELECT Год, Месяц, [квартал договора], Рукнап, Партнеры, 0, 0, 0, 0, [План,руб], [Факт, руб]
FROM план_рукнап_2016;

Но из таблицы `факт_продаж_рукнапы_2016` мне нужно исключить продажи, которые одновременно имели определенные значения по полю 'Партнеры' и по полю 'Квартал договора', потому что по определенным партнерам не ставились планы на определенные кварталы, и мне не нужно, чтобы продажи отражались по ним в эти периоды (Например, мне не нужны в этом запросе продажи в 1,2 и 4 квартале по Партнеру "Ромашка").

Суть проблемы: не могу реализовать исключение этих записей. Насколько я слышал от форумчан, Access не имеет своего оператора исключения. Просьба подсказать направление в реализации задуманного.
...
Рейтинг: 0 / 0
Исключение записей в запросе
    #39334303
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Игорь ИгоревичНасколько я слышал от форумчан, Access не имеет своего оператора исключения.
Код: vbnet
1.
WHERE NOT (условие включения)
...
Рейтинг: 0 / 0
Исключение записей в запросе
    #39334340
В Аксе такие задачи решаются с помощью подчиненного запроса в условии NOT IN или NOT EXISTS.
Например (если [RS ID] - ключевое поле) :
Код: sql
1.
SELECT [год договора], ... FROM факт_продаж_рукнапы_2016 As t1 WHERE  NOT EXISTS (SELECT * FROM факт_продаж_рукнапы_2016 As t2 WHERE t2.[RS ID] = t1.[RS ID] AND t2.[квартал договора]  In (1,2,4) AND t2.[Партнеры] = 'Ромашка')

или
Код: sql
1.
SELECT [год договора], ... FROM факт_продаж_рукнапы_2016 As t1 WHERE [RS ID] NOT In (SELECT t2.[RS ID] FROM факт_продаж_рукнапы_2016 As t2 WHERE t2.[квартал договора]  In (1,2,4) AND t2.[Партнеры] = 'Ромашка')


Также таблицу можно связать по LEFT JOIN с таким подзапросом и условием Is Null к [RS ID] запроса.
...
Рейтинг: 0 / 0
Исключение записей в запросе
    #39334500
Анатолий ( Киев ),

спасибо за ваше сообщение, но в запросе `факт_продаж_рукнапы_2016`нет ключа - он собирает продажи из базы договоров с определенным условием. И, насколько я понимаю, по этой причине каждый из предложенных вариантов запроса работает некорректно и исключает все записи, т.е. будто не понимает двух условий одновременно.
...
Рейтинг: 0 / 0
Исключение записей в запросе
    #39334535
просто так
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Игорь Игоревич...Например, мне не нужны в этом запросе продажи в 1,2 и 4 квартале по Партнеру "Ромашка"...
Код: sql
1.
2.
3.
4.
5.
6.
7.
SELECT [год договора], [месяц договора], [квартал договора], Рукнап, Партнеры, Бренд, [RS ID], 
       [Наименование фирмы], [Count-№ Договора], 0 as [План,руб], [Sum-сумма кредита] as [Факт, руб]
FROM факт_продаж_рукнапы_2016
UNION 
SELECT Год, Месяц, [квартал договора], Рукнап, Партнеры, 0, 0, 0, 0, [План,руб], [Факт, руб]
FROM план_рукнап_2016
WHERE Not (Партнеры = "Ромашка" AND [квартал договора] <> 3)

или
Код: sql
1.
2.
3.
4.
5.
6.
7.
SELECT [год договора], [месяц договора], [квартал договора], Рукнап, Партнеры, Бренд, [RS ID], 
       [Наименование фирмы], [Count-№ Договора], 0 as [План,руб], [Sum-сумма кредита] as [Факт, руб]
FROM факт_продаж_рукнапы_2016
UNION 
SELECT Год, Месяц, [квартал договора], Рукнап, Партнеры, 0, 0, 0, 0, [План,руб], [Факт, руб]
FROM план_рукнап_2016
WHERE Партнеры <> "Ромашка" OR (Партнеры = "Ромашка" AND [квартал договора] = 3)
...
Рейтинг: 0 / 0
Исключение записей в запросе
    #39335645
просто так,

спасибо огромное, направление верное!
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Исключение записей в запросе
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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