繁体   English   中英

MySQL 多行一行

[英]MySQL multiple row in one row

例如,我有两个表( 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 ,而不是全部。

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

这是可能的 ?

谢谢


有关更多信息,我想在 Wordpress 中选择自定义帖子的所有 post_meta。 我有第一个表格post (带有titledate等)和表格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' 

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

我在我的问题中找到了答案。

我必须使用对象 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>';

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM