MySQL在一行中有多行

时间:2015-10-28 14:51:05

标签: mysql sql wordpress join

我有两个表格(personskill)。

TABLE PERSON 
id,
First_name,
Last_name,
Mail

TABLE SKILL 
id,
Name,
level
id_person

我可以在SQL中得到以下结果:

id | First_name | Last_name | Mail | concat(SKILL 1 name, SKILL 1 level) | concat(SKILL 2 name, SKILL 2 level) etc..

为了使事情变得复杂一点,我只想要一些skill,而不是全部。

我看到这个POST但是,我不想连续结果(有很多skill)。

有可能吗?

Thx

有关详细信息,我想在Wordpress中选择自定义帖子的所有post_meta。我有第一个表posttitledate等)和表wp_postmeta(每meta一行)  所以,我需要一个请求在一行中选择post和元数据的信息:ID, TITLE, LAST_UPDATE, CONCAT (META_key1, META_value1), CONCAT (META_key1, META_value1)

所以我有两个表:

  • wp_posts
  • post_id,post_author,post_date,post_date_gmt,post_content, post_title,post_type
  • wp_postmeta
  • meta_id,post_id,meta_key,meta_value

我试试这个

SELECT * FROM wp_posts LEFT JOIN wp_postmeta ON wp_posts.ID = wp_postmeta.post_id WHERE post_type = 'user' 

结果我有多个行。我只想要一个

1 个答案:

答案 0 :(得分:0)

我在问题上找到了答案。

我必须使用对象WP_Query,我希望下面的代码可以帮助其他人

global $wpdb;
$args = array('post_type' => 'user');
$result_post = new WP_Query($args);

if ( $result_post->have_posts() ) {
    echo '<ul>';
    while ( $result_post->have_posts() ) {
        $result_post->the_post();
        echo '<li>' . get_the_title() . '</li>';
        echo '<li>' . the_meta() . '</li>';
        echo '<li>' . get_post_meta(get_the_id(),"name",true) . '</li>';
    }
    echo '</ul>';