Не очень понятно для чего всё это.
Для переноса товаров в другую БД ?
Уточните.
Если вывести одной таблицей товары и категории, то так:
(подразумевается, что вы не меняли префикс у таблиц)
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, программу и.т.д., то разумнее тремя запросами сделать:
- выбрать товары
- выбрать категории
- выбрать данные из таблицы связей (term_relationships)