Вопрос Вывести категории с товарами SQL

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

NOIP

Гуру форума
Регистрация
17 Фев 2008
Сообщения
320
Реакции
72
Всем привет, подскажите пожалуйста, есть WP, есть раздел товары, у товара может быть более пяти категорий, подскажите как средствами SQL вывести все категории со всеми товарами завязанными за категориями? что бы можно было увидеть все категории на товаре.
 
Решение
Не очень понятно для чего всё это.
Для переноса товаров в другую БД ?
Уточните.

Если вывести одной таблицей товары и категории, то так:
(подразумевается, что вы не меняли префикс у таблиц)

SQL:
SELECT
  `wp_posts`.`ID`,
  `wp_posts`.`post_title`,
  `wp_posts`.`post_excerpt`,
  `wp_posts`.`post_content`,
  `wp_terms`.`term_id`,
  `wp_terms`.`name`
FROM
  `wp_terms`
  LEFT OUTER JOIN `wp_term_taxonomy` ON (`wp_terms`.`term_id` = `wp_term_taxonomy`.`term_id`)
  INNER JOIN `wp_term_relationships` ON (`wp_term_taxonomy`.`term_taxonomy_id` = `wp_term_relationships`.`term_taxonomy_id`)
  INNER JOIN `wp_posts` ON (`wp_term_relationships`.`object_id` = `wp_posts`.`ID`)
WHERE
  `wp_term_taxonomy`.`taxonomy` = 'product_cat'

Каждый товар будет...

mumins

Интернетов сантехник
Регистрация
11 Мар 2009
Сообщения
1.004
Реакции
974
Зачем SQL?
Код:
2. Display Product Categories on Any Page
The following WooCommerce shortcodes can be used to display product categories on any page.
    [product_category]: Show all of the products in a specific category.
    [product_categories]: Show all product categories.
 

NOIP

Гуру форума
Регистрация
17 Фев 2008
Сообщения
320
Реакции
72
Зачем SQL?
Код:
2. Display Product Categories on Any Page
The following WooCommerce shortcodes can be used to display product categories on any page.
    [product_category]: Show all of the products in a specific category.
    [product_categories]: Show all product categories.
Мне нужно перенести базу. Как вынести все привязанные категории за товарами?
 

starwanderer

Хранитель порядка
Команда форума
Модератор
Регистрация
20 Ноя 2016
Сообщения
1.594
Реакции
3.342
Не очень понятно для чего всё это.
Для переноса товаров в другую БД ?
Уточните.

Если вывести одной таблицей товары и категории, то так:
(подразумевается, что вы не меняли префикс у таблиц)

SQL:
SELECT
  `wp_posts`.`ID`,
  `wp_posts`.`post_title`,
  `wp_posts`.`post_excerpt`,
  `wp_posts`.`post_content`,
  `wp_terms`.`term_id`,
  `wp_terms`.`name`
FROM
  `wp_terms`
  LEFT OUTER JOIN `wp_term_taxonomy` ON (`wp_terms`.`term_id` = `wp_term_taxonomy`.`term_id`)
  INNER JOIN `wp_term_relationships` ON (`wp_term_taxonomy`.`term_taxonomy_id` = `wp_term_relationships`.`term_taxonomy_id`)
  INNER JOIN `wp_posts` ON (`wp_term_relationships`.`object_id` = `wp_posts`.`ID`)
WHERE
  `wp_term_taxonomy`.`taxonomy` = 'product_cat'

Каждый товар будет повторяться столько раз, сколько категорий ему соответствует.

Если перенос планируется в другую CMS, программу и.т.д., то разумнее тремя запросами сделать:
  1. выбрать товары
  2. выбрать категории
  3. выбрать данные из таблицы связей (term_relationships)
 
  • Love
Реакции: NOIP

NOIP

Гуру форума
Регистрация
17 Фев 2008
Сообщения
320
Реакции
72
Не очень понятно для чего всё это.
Для переноса товаров в другую БД ?
Уточните.

Если вывести одной таблицей товары и категории, то так:
(подразумевается, что вы не меняли префикс у таблиц)

SQL:
SELECT
  `wp_posts`.`ID`,
  `wp_posts`.`post_title`,
  `wp_posts`.`post_excerpt`,
  `wp_posts`.`post_content`,
  `wp_terms`.`term_id`,
  `wp_terms`.`name`
FROM
  `wp_terms`
  LEFT OUTER JOIN `wp_term_taxonomy` ON (`wp_terms`.`term_id` = `wp_term_taxonomy`.`term_id`)
  INNER JOIN `wp_term_relationships` ON (`wp_term_taxonomy`.`term_taxonomy_id` = `wp_term_relationships`.`term_taxonomy_id`)
  INNER JOIN `wp_posts` ON (`wp_term_relationships`.`object_id` = `wp_posts`.`ID`)
WHERE
  `wp_term_taxonomy`.`taxonomy` = 'product_cat'

Каждый товар будет повторяться столько раз, сколько категорий ему соответствует.

Если перенос планируется в другую CMS, программу и.т.д., то разумнее тремя запросами сделать:
  1. выбрать товары
  2. выбрать категории
  3. выбрать данные из таблицы связей (term_relationships)
Мне необходимо для переноса на другой движок, не мог не как собрать категории, спасибо, это то что нужно для меня. Все работает! Спасибо!
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху