Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
创建合适的MYSQL查询Wordpress_Mysql_Wordpress - Fatal编程技术网

创建合适的MYSQL查询Wordpress

创建合适的MYSQL查询Wordpress,mysql,wordpress,Mysql,Wordpress,您好,我在创建sql查询请求时遇到问题。 我有一个工作查询来获取类别上的已发布或私有帖子,还有一个自定义帖子类型和一个元数据键“mapcoordinates”,位于用户id上的wp_usermeta表中。 我试图完成的是扩展查询,即我还从wp_usermeta表中使用meta_键'some_value'获取另一个meta_值。 所以我需要搜索两个meta_键值(mapcoordinates,somevalue),而不是一个(mapcoordinates),参见工作示例 也许有人能帮我 SELEC

您好,我在创建sql查询请求时遇到问题。 我有一个工作查询来获取类别上的已发布或私有帖子,还有一个自定义帖子类型和一个元数据键“mapcoordinates”,位于用户id上的wp_usermeta表中。 我试图完成的是扩展查询,即我还从wp_usermeta表中使用meta_键'some_value'获取另一个meta_值。 所以我需要搜索两个meta_键值(mapcoordinates,somevalue),而不是一个(mapcoordinates),参见工作示例 也许有人能帮我

SELECT SQL_CALC_FOUND_ROWS  wp_posts.ID, wp_usermeta.meta_value AS user_map_coord, wp_usermeta.user_id
        FROM wp_posts  
        INNER JOIN wp_term_relationships ON (wp_posts.ID = wp_term_relationships.object_id)
        INNER JOIN wp_usermeta  ON ( wp_posts.post_author = wp_usermeta.user_id )
        WHERE 1=1
        AND ( wp_term_relationships.term_taxonomy_id IN (5,6))
        AND  wp_posts.post_type = 'ouder_type'
        AND wp_usermeta.meta_key= 'mapcoordinates'
        AND (wp_posts.post_status = 'publish' OR wp_posts.post_status = 'private') 
        GROUP BY wp_posts.ID ORDER BY wp_posts.post_date
以上查询正在运行。 我想把它扩展成这样

SELECT SQL_CALC_FOUND_ROWS  wp_posts.ID, wp_usermeta.meta_value AS user_map_coord, wp_usermeta.user_id
        FROM wp_posts  
        INNER JOIN wp_term_relationships ON (wp_posts.ID = wp_term_relationships.object_id)
        INNER JOIN wp_usermeta  ON ( wp_posts.post_author = wp_usermeta.user_id )
        WHERE 1=1
        AND ( wp_term_relationships.term_taxonomy_id IN ( 5,6))
        AND  wp_posts.post_type = 'ouder_type'
        AND wp_usermeta.meta_key= 'mapcoordinates'
        // this line added not working i get only one result , expecting 2 results
        AND wp_usermeta.meta_key= 'somevalue'
        AND (wp_posts.post_status = 'publish' OR wp_posts.post_status = 'private') 
        GROUP BY wp_posts.ID ORDER BY wp_posts.post_date

您的wp_usermeta.meta_密钥同时等于两个不同的值,因此可能不会得到任何结果。我想你想要的更多是:


和wp_usermeta.meta_输入('mapcoordinates','somevalue')

你不需要
和(…或…
?我已经试过了,wp_usermeta.meta_输入('mapcoordinates','somevalue')。问题是我在结果中遗漏了一列。我的结果中的列名是:ID---meta\u value---user\u map\u coord---post\u ID ok,带别名,我可以重命名结果中的列,这不是问题。在我的结果中,meta_value和user_map_coord的值是相同的。我明白为什么,因为在我的选择中,我只要求3个字段,而我需要4个字段。