# SQL-запрос для извлечения всех постов с неотмеченными чекбоксами

**URL:** https://meta.discourse.org/t/sql-query-to-extract-all-posts-with-unchecked-checkboxes/291634
**Category:** Data & reporting
**Tags:** sql-query
**Created:** [15.Январь.2024 00:37:25 UTC](https://meta.discourse.org/t/sql-query-to-extract-all-posts-with-unchecked-checkboxes/291634 "2024-01-15T00:37:25Z")
**Posts on this page:** 4
**Page:** 1

<div class="post-metadata">

### Author: ![meglio](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/meglio/32/71444_2.png) [@meglio](https://meta.discourse.org/u/meglio)
#### Post date: [15.Январь.2024 00:37:25 UTC](https://meta.discourse.org/t/sql-query-to-extract-all-posts-with-unchecked-checkboxes/291634/1 "2024-01-15T00:37:25Z")

</div>

Продолжение обсуждения из [Topic Checkboxes — динамический список с галочками, отображающий все галочки из сообщений темы](https://meta.discourse.org/t/topic-checkboxes-a-dynamic-check-list-showing-all-checkboxes-from-all-topic-messages/286176):

Какой SQL-запрос можно использовать для извлечения всех сообщений с не отмеченными галочками в конкретной категории, включая отрывки (т. е. абзац, содержащий эту галочку)?

---

<div class="post-metadata">

### Author: ![Arkshine](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/arkshine/32/298682_2.png) [@Arkshine](https://meta.discourse.org/u/Arkshine)
#### Post date: [15.Январь.2024 03:51:30 UTC](https://meta.discourse.org/t/sql-query-to-extract-all-posts-with-unchecked-checkboxes/291634/2 "2024-01-15T03:51:30Z")

</div>

Что-то вроде этого?

```sql
-- [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)

```

 ![image](https://global.discourse-cdn.com/meta/original/4X/9/a/7/9a709390599fa6143d5638ea22572d575d6bde80.png)

Возможно, я что-то неправильно понял, но, думаю, это будет хорошей отправной точкой.

---

<div class="post-metadata">

### Author: ![meglio](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/meglio/32/71444_2.png) [@meglio](https://meta.discourse.org/u/meglio)
#### Post date: [15.Январь.2024 05:14:49 UTC](https://meta.discourse.org/t/sql-query-to-extract-all-posts-with-unchecked-checkboxes/291634/3 "2024-01-15T05:14:49Z")

</div>

Ага, так чекбоксы — это просто обычный текст в сообщении, например `[]`, `[]`, `[*]` и т. д.?

---

<div class="post-metadata">

### Author: ![JammyDodger](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jammydodger/32/254611_2.png) [@JammyDodger](https://meta.discourse.org/u/JammyDodger)
#### Post date: [15.Январь.2024 07:22:04 UTC](https://meta.discourse.org/t/sql-query-to-extract-all-posts-with-unchecked-checkboxes/291634/4 "2024-01-15T07:22:04Z")

</div>

Верно. 👍

> [@Sam Saffron](#):
>
> После включения вы можете добавлять чек-листы к своим сообщениям, вводя их следующим образом:
> 
> - `[]` или `[]` для неотмеченного флажка
> - `[x]` для отмеченного флажка (без заливки)
> - `[X]` для отмеченного флажка (с заливкой) — постоянная опция, которую больше нельзя переключать

Хотя, если использовать `cooked` вместо `raw`, вы увидите, что они преобразуются в иконку. Не уверен, будет ли так удобнее искать?
