, поэтому у меня возникли проблемы с правильным созданием этого запроса.
По сути, я хочу вставить несколько строк в таблицу уведомлений, каждая вставляемая строка имеет уникальный идентификатор получателя, который не будет повторяться, идентификаторы получателя определяются путем проверки на соответствие target_id комментария или идентификатора поток и проверка идентификатора author_id, связанного с каждым комментарием / потоком. Кроме того, я хочу, чтобы запрос исключал вставку строк для выбранных author_id, которые соответствуют идентификатору отправителя.
Ниже приведена грубая разметка sql в основном того, что мне нужно.
INSERT INTO
notification (type,
target_id,
sender_id,
recipient_id,
data,
timestamp,
is_unread)
SELECT DISTINCT 'comment',
'$id',
'$senderId',
(comment.author_id OR stream.author_id),
'$dataArray',
'$timestamp',
'1'
FROM
stream,
comment
WHERE
stream.author_id != '$senderId'
AND comment.author_id != '$senderId'
AND stream.id = '$id'
OR comment.target_id = '$id'