Выборка категорий и подкатегорий

Статус
В этой теме нельзя размещать новые ответы.

zek24

Мой дом здесь!
Команда форума
Модератор
Регистрация
14 Ноя 2009
Сообщения
811
Реакции
310
  • Автор темы
  • Модер.
  • #1
Нужна помощь с селектом.
Есть категория id = 14
у нее есть подкатегории, у которых, в свою очередь, также есть подкатегории.
Нужно выбрать их все.
acat_id = категория
acat_struct = родительская категория
Мой код выдает ошибку
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 21
Код:
$sql = '
SELECT *
FROM `phpwcms_articlecat`
WHERE
acat_struct =214
OR
acat_struct
IN (
SELECT acat_id
FROM `phpwcms_articlecat`
WHERE acat_struct =214
) OR
 
acat_struct IN
 
(SELECT acat_id
FROM `phpwcms_articlecat`
WHERE
acat_struct IN (
SELECT acat_id
FROM `phpwcms_articlecat`
WHERE acat_struct =214)
';
 
В конце закрывающую скобку ) пропустил :)

PS проверь производительность такого решения ... Большенство реализаций которые я видел либо дёргают все категории и сортируют на уровне php либо делают несколько запросов к базе.
 
последние 2 условия разве не выдают пустые множества? Мне кажется здесь (при условии добавления скобки для исправления ошибки) отрабатывает только:
Код:
SELECT *
FROM `phpwcms_articlecat`
WHERE
acat_struct =214
 
  • Автор темы
  • Модер.
  • #4
последние 2 условия разве не выдают пустые множества? Мне кажется здесь (при условии добавления скобки для исправления ошибки) отрабатывает только:
Код:
SELECT *
FROM `phpwcms_articlecat`
WHERE
acat_struct =214
проблемка действительно была в скобке))
последние 2 условия поочередно "закапываются" глубже в подкатегории.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху