Как слева присоединиться к декартовому произведению на другом столе? - PullRequest
0 голосов
/ 08 февраля 2012

Использование Access 2010. Предположим, у меня есть три таблицы: dogs, cats и catChases. Моя цель - создать запрос, который скажет мне для каждой собаки и каждой кошки, преследовала ли эта собака эту кошку или нет.

Я подумал, что мне придется использовать декартово произведение dogs и cats, потому что я хочу получить статус для всех возможных комбинаций, а затем оставить соединение catChases следующим образом:

select
dog,cat,chase
from
dogs,cats
left join
catChases
on
dogs.dog=catChases.dog

но это просто выдает мне сообщение об ошибке: Syntax error in JOIN operation.

Так как же мне присоединить другой стол к декартовому произведению?

1 Ответ

3 голосов
/ 08 февраля 2012

Попробуйте это:

select x.dog, x.cat,cs.chase 
from 
     (select dog
            ,cat  
     from dogs, cats) x
left join catChases cs on cs.dog=x.dog and x.cat=cs.cat
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...