Requête SQL pour extraire tous les posts avec des cases à cocher non cochées

Continuant la discussion de Topic Checkboxes - a dynamic check list showing all checkboxes from all topic messages :

Quelle serait une requête SQL pour extraire tous les messages avec des cases à cocher non cochées dans une catégorie particulière, y compris des extraits (c’est-à-dire le paragraphe qui contient cette case à cocher) ?

Quelque chose comme ça ?

-- [params]
-- int_list :categories

SELECT p.id post_id,
       t.id topic_id,
       c.id category_id,
       (regexp_matches(p.raw, '\\[\\s\\]\\s*[^]\\r\\n]+', 'g'))[1] AS html$excerpt
FROM posts p
JOIN topics t ON p.topic_id = t.id
JOIN categories c ON t.category_id = c.id
WHERE p.raw ~ '\\[\\s\\]\\s*[^]\\r\\n]+'
  AND c.id IN (:categories)

J’ai peut-être mal compris quelque chose, mais je pense que ce serait un bon point de départ.

1 « J'aime »

Alors, les cases à cocher sont-elles simplement du texte normal dans le message, par exemple [], [ ], [*] etc. ?

1 « J'aime »

C’est exact. :+1:

Bien que si vous utilisez cooked au lieu de raw, vous verrez qu’ils sont convertis en icône. Je ne suis pas sûr si ce serait plus facile à rechercher ?

1 « J'aime »