Как внутреннее соединение строк из одного столбца? - PullRequest
1 голос
/ 22 октября 2019

У меня медленный мозговой день ...
У меня есть такой стол
wp_postmeta

 post_id       meta_key       meta_value
      1         magTitle        Title1
      2         magTitle        Title2
      1         magTag          Tag1
      2         magTag          Tag1
      3         magTitle        Title3
      3         magTag          Tag2


Я хотел бы показать этот столбец следующим образом:

 post_id       magTitle        magTag
      1         Title1          Tag1
      2         Title2          Tag1
      3         Title3          Tag2


Я проверял этот запрос

SELECT `meta_value` FROM `wp_postmeta` WHERE `meta_key` = 'magTitle' OR `meta_key` = 'magTag'
INNER JOIN meta_key.magTitle ON meta_key.magTag
ORDER BY post_id ASC

но я получил ошибку;

Любой трек приветствуется.

1 Ответ

1 голос
/ 22 октября 2019

Вы не можете действительно объединять столбцы, вы объединяете таблицы по столбцам, и ваше объединение должно быть в предложении where. учитывая ваш макет таблицы, вы, вероятно, захотите присоединиться к post_Id и ограничить левую и правую стороны мета-ключом. Что-то вроде.

SELECT 
    wppm.`meta_value` as magTitle, 
    wppm2.`meta_value` as magTag 
FROM 
    `wp_postmeta` as `wppm` 
INNER JOIN 
    `wp_postmeta` as `wppm2` 
    ON wppm.post_id = wppm2.post_id 
    AND wppm.meta_key = 'magTitle' 
    AND wppm2.meta_key = 'magTag' 
ORDER BY 
    wppm.post_id ASC
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...