Есть сайт с пользователями и статьями. В списке статей на сайте пользователь видит рядом с заголовком надпись "новая" или не видит таковой, если уже статью читал. Данные о прочитанных статьях хранятся в виде списка номеров статей через запятую, соответствующего номеру пользователя. Выглядит примерно так:
user_id | article_id |
-----------------------------------------
1 | 1,2,10,11,12,25,45,15,28,32,5 |
2 | 2,15,12,55,32,22 |
4 | 23,2,22,12,14,52,24 |
-----------------------------------------
Нужно во время выборки статей из другой таблицы проверять article_id соответствующего пользователя на наличие её номера, чтобы определить прочитана-ли она пользователем или нет. И это нужно сделать средствами MySQL.
У меня получилась вот такая нерабочая конструкция:
SELECT articles_table.id, articles_table.name, EXISTS(SELECT readed_table.article_id FROM readed_table WHERE readed_table.user_id = '2' AND readed_table.article_id REGEXP 'articles_table.id') AS readed FROM articles_table
А не работает оно потому что в качестве шаблона для регулярного выражения передаётся строка "articles_table.id" вместо содержимого этой ячейки. Как бы так передать это содержимое? Есть идеи?