SQL Выберите строки, которые не имеют связи с соответствующей таблицей соединений - PullRequest
0 голосов
/ 27 марта 2020

Привет, у меня SQL вопрос. Я пытаюсь получить строки сообщений, у которых нет соответствующей строки корзины s3 в другой таблице. Вот запрос, по которому я получу сообщения, связанные со строкой в ​​таблице сегментов s3.

SELECT * FROM wp_posts
INNER JOIN wp_as3cf_items
ON wp_as3cf_items.source_id = wp_posts.id
WHERE wp_posts.post_type = 'attachment';

Что я могу написать SQL, что будет возвращать строки wp_posts, которые имеют вложение post_type которые не имеют ассоциированной строки s3?

Ответы [ 2 ]

1 голос
/ 27 марта 2020

Использование not exists:

SELECT p.* 
FROM wp_posts p
WHERE NOT EXISTS (SELECT 1
                  FROM wp_as3cf_items i
                  WHERE i.source_id = p.id
                 ) AND
      p.post_type = 'attachment';
0 голосов
/ 27 марта 2020

Использование not exists:

select p.*
from wp_posts p
where 
    p.post_type = 'attachement'
    and not exists (select 1 from wp_as3cf_items a where a.source_id = p.id)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...