|
|
|
маленький вопрос, но самим никак...
|
|||
|---|---|---|---|
|
#18+
Есть таблица Фирмы (Номер, Имя и тому подобное), таблица Сорта (Номер, Название) и есть таблица-связка, где только номера фирм и номера сортов. 1 Сорт - это общий (мясо), 3 сорт - это свинина, - курица и так далее. Фирма может продавать и 1 сорт, и 3, и 4. Как мне ответить на вопрос, есть ли фирмы, которые продают мясо, но при этом не продают свинину и курицу, то есть по сути, есть ли фирмы, специализация которых неизвестна. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2003, 18:10 |
|
||
|
маленький вопрос, но самим никак...
|
|||
|---|---|---|---|
|
#18+
SELECT [таблица Фирмы].[Номер], ... FROM .... WHERE ([таблица Сорта].[Номер] <> 3 or [таблица Сорта].[Номер] <> 4) AND [таблица Сорта].[Номер] = 1 за or не ручаюсь может AND ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2003, 18:25 |
|
||
|
маленький вопрос, но самим никак...
|
|||
|---|---|---|---|
|
#18+
Таблицы: 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 ); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2003, 18:53 |
|
||
|
маленький вопрос, но самим никак...
|
|||
|---|---|---|---|
|
#18+
я, конечно, извиняюсь, но этот вариант не проходит. Access выдает все фирмы, которые занимаются и мясом (позиция 1), и куриным, и свиным, т.е. вообше всем мясом . :(( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2003, 14:34 |
|
||
|
маленький вопрос, но самим никак...
|
|||
|---|---|---|---|
|
#18+
Не мучайся на одним запросом. Сделай выборку несколькими запросами На вскидку: 1. Запрос возвращающий ВСЕ виды сортов 2. Запрос Фирмы-Сорта 3. Запрос п.1. хитро объединяешь с п1. Можно воспользоваться, например, мастером запросов на "Записи без подчиненых...", чтобы вывести из п.2 фирмы, по которым нет записей в п1. Это даст тебе представление что можно сделать. Удачи! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2003, 14:53 |
|
||
|
маленький вопрос, но самим никак...
|
|||
|---|---|---|---|
|
#18+
эти мысли меня посешали, и с вложенными запросами тоже, только мои котелок никак не хочет придумать нужную схему... видимо знаний не хватает... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2003, 15:01 |
|
||
|
маленький вопрос, но самим никак...
|
|||
|---|---|---|---|
|
#18+
Зачем вложенные запросы? Не надо вложенных. Если что не понятно из того что я написал - спроси. Хотя вроде все ясно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2003, 15:07 |
|
||
|
маленький вопрос, но самим никак...
|
|||
|---|---|---|---|
|
#18+
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'.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2003, 15:22 |
|
||
|
маленький вопрос, но самим никак...
|
|||
|---|---|---|---|
|
#18+
Этот запрос отберет все фирмы, которые занимаются только 1-ым сортом SELECT [таблица Связка].[Номер Фирмы] FROM [таблица Связка] WHERE [таблица Связка].[Номер Фирмы] not in ( SELECT [таблица Связка].[Номер Фирмы] FROM [таблица Связка] WHERE [таблица Связка].[Номер Сорта]<>1 ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2003, 15:31 |
|
||
|
маленький вопрос, но самим никак...
|
|||
|---|---|---|---|
|
#18+
Ne pojmite menya, budto ya izdewaus', no poslednij zapros wydaet 0, a etogo tochno ne mozhet byt', provereno ruchkami. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2003, 16:01 |
|
||
|
маленький вопрос, но самим никак...
|
|||
|---|---|---|---|
|
#18+
Если Сорта.Номер не могут иметь других значений то можно через Max попробывать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2003, 17:49 |
|
||
|
маленький вопрос, но самим никак...
|
|||
|---|---|---|---|
|
#18+
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)); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2003, 18:09 |
|
||
|
маленький вопрос, но самим никак...
|
|||
|---|---|---|---|
|
#18+
я, конечно, извиняюсь, но этот вариант не проходит. 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 ); ------------------------------- Если я неправ - объясните где. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2003, 17:59 |
|
||
|
маленький вопрос, но самим никак...
|
|||
|---|---|---|---|
|
#18+
Sfagnum написал почти верно - пропустил скобки Код: plaintext 1. 2. Дело в том что AND имеет выше приоритет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2003, 18:58 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32139128&tid=1681819]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
41ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
| others: | 212ms |
| total: | 336ms |

| 0 / 0 |
