在我对我面临的问题进行了一些研究之后
我认为使用IF()
和CONCAT()
函数存在此声明
合并到一个不同的列。我想做的是合并
两个值合二为一,使第一个值看起来像一列。
这是我到目前为止的sql代码:
SELECT
IF(meta_key = 'property_id',
CONCAT(meta_key, ' ', meta_value),
'') AS property_id
FROM
wp_postmeta,
wp_posts,
wp_terms,
wp_term_taxonomy,
wp_term_relationships
WHERE
wp_term_relationships.object_id = wp_posts.ID
AND wp_term_relationships.term_taxonomy_id = wp_term_taxonomy.term_taxonomy_id
AND wp_term_taxonomy.term_id = wp_terms.term_id
AND wp_postmeta.post_id = wp_posts.ID
事实证明它是空的,但行数是正确的。
答案 0 :(得分:0)
从不在<h:graphicImage value="file:../../../images/image.jpg"> </h:graphicImage>
子句中使用逗号。 始终使用正确的FROM
语法。
只需将条件移至JOIN
子句:
WHERE
或者,移除SELECT CONCAT(meta_key, ' ', meta_value) AS property_id
FROM wp_postmeta pm JOIN
wp_posts p
ON pm.post_id = p.ID JOIN
wp_term_relationships r
ON r.object_id = p.ID JOIN
wp_term_taxonomy tt
ON r.term_taxonomy_id = tt.term_taxonomy_id JOIN
wp_terms t
ON tt.term_id = t.term_id
WHERE meta_key = 'property_id'
并使用WHERE
:
CASE
我还注意到,大多数表格对于您正在进行的操作不是必需的。
谢谢(Luarb,抱歉编辑错误)