powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / маленький вопрос, но самим никак...
15 сообщений из 15, страница 1 из 1
маленький вопрос, но самим никак...
    #32137911
kaktuswelcome
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть таблица Фирмы (Номер, Имя и тому подобное),
таблица Сорта (Номер, Название) и есть таблица-связка, где только номера фирм и номера сортов. 1 Сорт - это общий (мясо), 3 сорт - это свинина, - курица и так далее. Фирма может продавать и 1 сорт, и 3, и 4.
Как мне ответить на вопрос, есть ли фирмы, которые продают мясо, но при этом не продают свинину и курицу, то есть по сути, есть ли фирмы, специализация которых неизвестна.

Спасибо.
...
Рейтинг: 0 / 0
маленький вопрос, но самим никак...
    #32137933
Sfagnum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SELECT [таблица Фирмы].[Номер], ...
FROM ....
WHERE ([таблица Сорта].[Номер] <> 3 or [таблица Сорта].[Номер] <> 4) AND [таблица Сорта].[Номер] = 1

за or не ручаюсь может AND
...
Рейтинг: 0 / 0
маленький вопрос, но самим никак...
    #32137971
Фотография Циничный Кот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Таблицы:
Companies [C_id,C_name] - фирмы
Production [P_id,P_desc] - товары
CP_link [C_id,P_id] - связующая таблица


Запрос:

SELECT DISTINCT Companies.C_name
FROM Companies
WHERE Companies.C_id NOT IN (
SELECT DISTINCT CP_link.C_id
FROM CP_link WHERE CP_link.P_id>1 );
...
Рейтинг: 0 / 0
маленький вопрос, но самим никак...
    #32138753
kaktuswelcome
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
я, конечно, извиняюсь, но этот вариант не проходит. Access выдает все фирмы, которые занимаются и мясом (позиция 1), и куриным, и свиным, т.е.
вообше всем мясом . :((
...
Рейтинг: 0 / 0
маленький вопрос, но самим никак...
    #32138783
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не мучайся на одним запросом. Сделай выборку несколькими запросами

На вскидку:
1. Запрос возвращающий ВСЕ виды сортов
2. Запрос Фирмы-Сорта
3. Запрос п.1. хитро объединяешь с п1. Можно воспользоваться, например, мастером запросов на "Записи без подчиненых...", чтобы вывести из п.2 фирмы, по которым нет записей в п1. Это даст тебе представление что можно сделать.

Удачи!
...
Рейтинг: 0 / 0
маленький вопрос, но самим никак...
    #32138798
kaktuswelcome
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
эти мысли меня посешали, и с вложенными запросами тоже, только мои котелок никак не хочет придумать нужную схему... видимо знаний не хватает...
...
Рейтинг: 0 / 0
маленький вопрос, но самим никак...
    #32138811
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зачем вложенные запросы? Не надо вложенных.

Если что не понятно из того что я написал - спроси. Хотя вроде все ясно.
...
Рейтинг: 0 / 0
маленький вопрос, но самим никак...
    #32138838
kaktuswelcome
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Viktor, mne dejstvitel'no neponyatno, kak ih svyazat'...
I chto "zapisi bez podchinennyh" mne neponyatno, potomu chto Access u menya na nemezkom...
2 nedeli Accessa i 1 nedelya SQl - ne luchshij sposob ego wyuchit'....
...
Рейтинг: 0 / 0
маленький вопрос, но самим никак...
    #32138859
guest_1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Этот запрос отберет все фирмы, которые занимаются только 1-ым сортом

SELECT [таблица Связка].[Номер Фирмы]
FROM [таблица Связка]
WHERE [таблица Связка].[Номер Фирмы] not in
(
SELECT [таблица Связка].[Номер Фирмы]
FROM [таблица Связка]
WHERE [таблица Связка].[Номер Сорта]<>1
)
...
Рейтинг: 0 / 0
маленький вопрос, но самим никак...
    #32138923
kaktuswelcome
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ne pojmite menya, budto ya izdewaus', no poslednij zapros wydaet 0, a etogo tochno ne mozhet byt', provereno ruchkami.
...
Рейтинг: 0 / 0
маленький вопрос, но самим никак...
    #32139083
Sfagnum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если Сорта.Номер не могут иметь других значений то можно через Max попробывать
...
Рейтинг: 0 / 0
маленький вопрос, но самим никак...
    #32139128
kaktuswelcome
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
POLUCHILOS'! Esli komu interesno:
1 zapros pod imenem COUNT:
SELECT Count (FNr) AS Anzahl,
FNr
FROM [Firmen-Sorten]
GROUP BY FNr;

2 osnovnoj zapros:
SELECT Firmen.Name, Sorten.Bezeichnung
FROM (Sorten INNER JOIN (Firmen INNER JOIN [Firmen-Sorten] ON
Firmen.FNr = [Firmen-Sorten].FNr) ON Sorten.SNr = [Firmen-Sorten].SNr)
INNER JOIN Count ON Firmen.Fnr = Count.FNr
WHERE ((([Firmen-Sorten].SNr)=1) AND ((Count.Anzahl)=1));
...
Рейтинг: 0 / 0
маленький вопрос, но самим никак...
    #32140268
Фотография Циничный Кот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я, конечно, извиняюсь, но этот вариант не проходит. Access выдает все фирмы, которые занимаются и мясом (позиция 1), и куриным, и свиным, т.е.
вообше всем мясом....


Я, конечно, извиняюсь, но исходный вопрос звучал так:
Как определить фирмы, чья специализация неизвестна???...

Логика рассуждения:
1. Есть множество фирм А.
2. Подмножество В этого множества - фирмы, чья специализация известна.
3. Искомое множество С=А\В.

Алгорим решения:
1. Найти мн-во В. Это делается запросом вида:

SELECT DISTINCT CP_link.C_id
FROM CP_link WHERE CP_link.P_id>1

2. Найти мн-во С. Это делается уже указанным запросом:

SELECT DISTINCT Companies.C_name
FROM Companies
WHERE Companies.C_id NOT IN (
SELECT DISTINCT CP_link.C_id
FROM CP_link WHERE CP_link.P_id>1 );

-------------------------------
Если я неправ - объясните где.
...
Рейтинг: 0 / 0
маленький вопрос, но самим никак...
    #32140319
V. Motchulsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Sfagnum написал почти верно - пропустил скобки
Код: plaintext
1.
2.
SELECT [таблица Фирмы].[Номер], ... 
FROM .... 
WHERE (([таблица Сорта].[Номер] <>  3  or [таблица Сорта].[Номер] <>  4 )) AND [таблица Сорта].[Номер] =  1 

Дело в том что AND имеет выше приоритет
...
Рейтинг: 0 / 0
маленький вопрос, но самим никак...
    #32140322
V. Motchulsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ой, совсем заработался, и скобки там есть. А что ж обсуждаем?
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / маленький вопрос, но самим никак...
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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