[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Помогите составить запрос
Raymond
Есть таблица сообщений:


id
message (текст)
sentby (id отправителя)
sentto (id получателя)
created (дата создания)


И таблица свойств сообщений для пользователей (одна запись на каждого участника сообщения) :

id
user (id пользователя)
folder (папка сообщения)
message_id (id сообщения)
deleted (удалено ли. логическое значение)

Помогите пожалуйста составить запрос , который бы удалял сообщения, удаленные и для отправителя, и для получателя
Kusss
SELECT 
t.id
FROM
`table` AS t
LEFT JOIN
`table2` AS t_by ON t_by.message_id = t.id AND t_by.user = t.sentby
LEFT JOIN
`table2` AS t_to ON t_to.message_id = t.id AND t_to.user = t.sentto
WHERE
t_by.deleted = 1 AND
t_to.deleted = 1

так ты получишь все id, в которых оба пользователя отметили его удаленными (Флаг 1, или что ты там ставишь ). Подставляешь это в запрос на удаление.
DELETE FROM `table` WHERE id IN ( сюда то, что выше )
killer8080
DELETE FROM `messages` WHERE `id` IN (
SELECT `message_id`
FROM `users`
WHERE `deleted` = 1
GROUP BY `message_id`
HAVING COUNT(`message_id`) = 2
)
Kusss
killer8080
так действительно лучше
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.