MySQL SELECT получается из 1 таблицы, но исключает результаты в зависимости от другой таблицы?

Какой SQL-запрос мне придется использовать, если я хочу получить результаты из сообщений таблицы, но исключаю строки, которые имеют значение в 'messages_view', где поле messages.message = messages_view.id AND messages.deleted = 1 AND messages_view. пользователь = $ somephpvariable

В более простых условиях у меня есть таблица сообщений с каждым сообщением, обозначенным как «id», а также таблица messages_view, связанная с полем «сообщение». Я хочу получить строки в сообщении , которые не удаляются (поступает из messages_view ) для определенного «пользователя». 'deleted' = 1, когда сообщение удалено.

Вот мой текущий SQL-запрос, который просто получает значения из:

SELECT * FROM messages WHERE ((m_to=$user_id) OR (m_to=0 AND (m_to_state='' OR m_to_state='$state') AND (m_to_city='' OR m_to_city='$city'))) 

Вот макет моих таблиц:

 table: messages ---------------------------- id (INT) (auto increment) m_from (INT) <-- Represents a user id (0 = site admin) m_to (INT) <-- Represents a user id (0 = all users) m_to_state (VARCHAR) m_to_city (VARCHAR) table: messages_view ---------------------------- message (INT) <-- Corresponds to messages.id above user (INT) <-- Represents a user id deleted (INT) <-- 1 = deleted 

Solutions Collecting From Web of "MySQL SELECT получается из 1 таблицы, но исключает результаты в зависимости от другой таблицы?"

Я действительно думаю, что это так просто:

 SELECT * FROM messages WHERE ((m_to=$user_id) OR (m_to=0 AND (m_to_state='' OR m_to_state='$state') AND (m_to_city='' OR m_to_city='$city'))) AND NOT EXISTS ( SELECT * FROM messages_view WHERE messages.message = messages_view.id AND messages.deleted = 1 AND messages_view.user = $somephpvariable ) 
 Select ... From Messages M Where M.deleted = 0 And Not Exists ( Select 1 From Messages_View MV1 Where MV1.message = messages_view.Id And MV1.user = $somephpvariable ) 

Существует противоречие с вашим первым абзацем и вашим вторым абзацем относительно того, что вы хотите относительно удаляемого флага.