может обновить запрос MySQL во внутреннем соединении или левом соединении - PullRequest
0 голосов
/ 04 марта 2019

Могу ли я обновить несколько строк с несколькими таблицами в MySQL с помощью запроса на соединение из моего запроса на соединение, может кто-нибудь привести мне пример.

это мой запрос:

SELECT
            p.ID,
            p.post_date,
            p.post_modified,
            p.post_title,
            p.post_status,
            p.post_type,
            GROUP_CONCAT(distinct t_cat.name separator ', ') as category,
            GROUP_CONCAT(distinct t_tag.name separator ', ') as tags,
            CONCAT('[',GROUP_CONCAT(distinct JSON_OBJECT('key', pm.meta_key,'value',pm.meta_value)),']') as meta
        FROM wp_c3g3f5_posts p
        JOIN wp_c3g3f5_postmeta pm ON pm.post_id = p.ID AND pm.meta_key IN (
        '_sku',
        '_stock',
        '_stock_status',
        '_visibility', 
        '_weight', 
        '_width', 
        '_height', 
        '_length', 
        '_featured', 
        '_regular_price',
        '_sale_price')
        JOIN  wp_c3g3f5_term_relationships tr ON tr.object_id = p.id

        LEFT JOIN wp_c3g3f5_term_taxonomy tt_cat ON tt_cat.term_taxonomy_id = tr.term_taxonomy_id AND tt_cat.taxonomy IN ('product_cat')
        LEFT JOIN wp_c3g3f5_terms t_cat ON t_cat.term_id = tt_cat.term_id

        LEFT JOIN wp_c3g3f5_term_taxonomy tt_tag ON tt_tag.term_taxonomy_id = tr.term_taxonomy_id AND tt_tag.taxonomy IN ('product_tag')
        LEFT JOIN wp_c3g3f5_terms t_tag ON t_tag.term_id = tt_tag.term_id

        WHERE p.ID = ?
        GROUP BY p.ID

1 Ответ

0 голосов
/ 04 марта 2019

Я не совсем понимаю ваш вопрос, но если вы хотите обновить несколько строк в таблице на основе данных в других таблицах, да, это возможно, если вы хотите обновить несколько строк в нескольких разных таблицах, чтобудет возможно только с помощью хранимой процедуры или чего-то подобного.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...