Я хочу передать данные из
cms_nodeinfo.description
К
wp_postmeta.meta_value
ТОЛЬКО ЕСЛИ cms_nodeinfo.nodeid **MATCHES** wp_postmeta.post_id
И , если wp_postmeta.meta_key **EQUALS** '_yoast_wpseo_metadesc'
Вот пример запроса, который я пробовал:
SELECT
cms_nodeinfo.description, wp_postmeta.meta_value
FROM
cms_nodeinfo, wp_postmeta
WHERE
cms_nodeinfo.nodeid = wp_postmeta.post_id
wp_postmeta.meta_key = _yoast_wpseo_metadesc
пс. Ребята, я НЕ кодер, я учусь на ходу, пожалуйста, будьте терпеливы со мной. Спасибо.
Ладно, вот так, я думаю, но мне нужна помощь с фактическим синтаксисом, который я мог бы вставить в запрос:
SELECT cms_nodeinfo.description
FROM cms_nodeinfo
LEFT JOIN wp_postmeta ON cms_nodeinfo.description = wp_postmeta.meta_value
WHERE wp_postmeta.meta_key = _yoast_wpseo_metadesc AND cms_nodeinfo.nodeid = wp_postmeta.post_id
Я тоже пытался
SELECT
cms_nodeinfo.description
FROM
cms_nodeinfo
LEFT JOIN cms_nodeinfo.description ON
wp_postmeta.meta_value
WHERE
wp_postmeta.meta_key = _yoast_wpseo_metadesc AND cms_nodeinfo.nodeid = wp_postmeta.post_id
но это вернуло ошибку, сказав что
Table 'cms_nodeinfo.description' doesn't exist
Имена таблиц: cms_nodeinfo и wp_postmeta. Цель состоит в том, чтобы получить поле описания из передачи cms_nodeinfo в поле meta_value таблицы wp_postmeta.
Я тоже пробовал:
SELECT
`description`
FROM
cms_nodeinfo
LEFT JOIN wp_postmeta.meta_value WHERE // LINE 5
wp_postmeta.meta_key = _yoast_wpseo_metadesc AND cms_nodeinfo.nodeid = wp_postmeta.post_id
но это возвращает следующую ошибку:
You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'WHERE
wp_postmeta.meta_key = _yoast_wpseo_metadesc AND cms_nodeinfo.nodeid ' at line 5
Я тоже пробовал:
SELECT
`description`
FROM
cms_nodeinfo
WHERE
wp_postmeta.meta_key = `_yoast_wpseo_metadesc` AND cms_nodeinfo.nodeid = wp_postmeta.post_id
LEFT JOIN cms_nodeinfo.description ON //LINE7
wp_postmeta.meta_value
but that returns:
check the manual that corresponds to your MariaDB server version for the right syntax to use near 'LEFT JOIN cms_nodeinfo.description ON
wp_postmeta.meta_value LIMIT 0, 25' at line 7 (marked)
Я тоже пробовал:
SELECT `cms_nodeinfo`.`description`, `wp_postmeta`.`meta_key`, `cms_nodeinfo`.`nodeid`
FROM `cms_nodeinfo`, `wp_postmeta`
LEFT JOIN `wp_postmeta`.`meta_value`
WHERE `wp_postmeta`.`meta_key` = '_yoast_wpseo_metadesc' AND `cms_nodeinfo`.`nodeid` = `wp_postmeta`.`post_id`; //LINE4
which returns a syntax error in line 4 (marked)
Я также пробовал:
SELECT
`cms_nodeinfo`.`description`,
`wp_postmeta`.`meta_key`,
`cms_nodeinfo`.`nodeid`
FROM
`cms_nodeinfo`,
`wp_postmeta`
LEFT JOIN `cms_nodeinfo.description`
ON `wp_postmeta`.`meta_value`
WHERE
`wp_postmeta`.`meta_key` = '_yoast_wpseo_metadesc' AND `cms_nodeinfo`.`nodeid` = `wp_postmeta`.`post_id`;
Я тоже пробовал:
REPLACE `meta_value` WITH `cms_nodeinfo`.`description`, WHERE `wp_postmeta`.`meta_key` = '_yoast_wpseo_metadesc' AND `cms_nodeinfo`.`nodeid` = `wp_postmeta`.`post_id`;
@ Мартин предложил:
ОТ tbl СЛЕДУЮЩЕЕ СОЕДИНЕНИЕ x ON x.a = tbl.a И x.b = tbl.b
Итак, я попробовал это здесь:
FROM //POSITION 0
`cms_nodeinfo`,
LEFT JOIN `cms_nodeinfo.description`
ON `wp_postmeta`.`meta_value`
WHERE
`wp_postmeta`.`meta_key` = '_yoast_wpseo_metadesc' AND `cms_nodeinfo`.`nodeid` = `wp_postmeta`.`post_id`;
which returned the error:
Unrecognized statement type. (near "FROM" at position 0)
Может быть, я использую неправильный тип соединения? Я тоже попробовал INNER JOIN, и это тоже не сработало.
SELECT
`cms_nodeinfo`.`description`,
`wp_postmeta`.`meta_key`,
`cms_nodeinfo`.`nodeid`
FROM
`cms_nodeinfo`,
`wp_postmeta`
INNER JOIN `wp_postmeta`.`meta_value` WHERE
`wp_postmeta`.`meta_key` = '_yoast_wpseo_metadesc' AND `cms_nodeinfo`.`nodeid` = `wp_postmeta`.`post_id`;
Хорошо, это успешно выполняется, но данные не возвращаются
SELECT
`cms_nodeinfo`.`description`
FROM
`cms_nodeinfo`
LEFT JOIN `wp_postmeta` ON `wp_postmeta`.`meta_value` = `cms_nodeinfo`.`description`
WHERE
`wp_postmeta`.`meta_key` = '_yoast_wpseo_metadesc' AND `cms_nodeinfo`.`nodeid` = `wp_postmeta`.`post_id`;
Я также попробовал RIGHT Join, INNER и FULL, но все они терпят неудачу. Поле есть, но я не могу получить данные для его заполнения.
Есть идеи? Помогите, пожалуйста?!