|
|
|
Найти количество записей в таблице, "пересечение" значений
|
|||
|---|---|---|---|
|
#18+
Доброй ночи. Помогите с направлением поиска алгоритма, готового решения не прошу, просто пните в нужную сторону ... Условия задачи. Есть таблица с новостями, каждая новость принадлежит какой-то категории. news_id, text_news, category_id Новость может принадлежать одной категории, а может - нескольким. Если одной категорией category_id=170 , если нескольким category_id=170,171,172 . Есть группа " нужных " новостей, задана с помощью набора (140,141,170,179) . С помощью какого алгоритма можно получить новости, которые входят в группу "нужные". p.s.: структура базы не моя, сам понимаю, что разделять с помощью запятых данные и вставлять их в одну ячейку - некорректно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2016, 00:17 |
|
||
|
Найти количество записей в таблице, "пересечение" значений
|
|||
|---|---|---|---|
|
#18+
набор (140,141,170,179) переворачивать в таблицу, и Find_IN_SET -ом join ить с category_id ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2016, 06:18 |
|
||
|
Найти количество записей в таблице, "пересечение" значений
|
|||
|---|---|---|---|
|
#18+
Спасибо за ответ! Положу себе в копилку эту функцию... Покопался в функциях ядра DLE (условия задачи оттуда) и нашёл их решение WHERE category regexp '[[:<:]](140|141|170|179)[[:>:]]' ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2016, 10:32 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=39299097&tid=1831462]: |
0ms |
get settings: |
8ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
181ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
39ms |
get tp. blocked users: |
1ms |
| others: | 239ms |
| total: | 491ms |

| 0 / 0 |
