使用连接查询的Mysql透视/交叉表查询

使用连接查询的Mysql透视/交叉表查询,mysql,pivot,Mysql,Pivot,我有3个表,我想使用pivot/crosstab连接所有3个表。 让我给你们讲讲桌子的结构 表名:wp\u frm\u项目 id post_id user_id name 121 19241 3 balaji 120 19239 3 bajaj 119 19235 3 pressur Cooker 表名:w

我有3个表,我想使用pivot/crosstab连接所有3个表。 让我给你们讲讲桌子的结构

  • 表名:wp\u frm\u项目

    id        post_id     user_id      name  
    
    121       19241          3          balaji
    
    120       19239          3          bajaj 
    
    119       19235          3          pressur Cooker
    
  • 表名:wp\u postmeta

      post_id        meta_key       meta_value 
    
        19241          Price:         590
    
        19241          Shipping:       20
    
        19241          Size:           250X20
    
        19239          price          8412
    
        19239          Shipping:       20
    
    post_id   item_id  user_id  name   price   shipping  size     96       388   237  
    
    
    19241     121      3       balaji   590     20       250X20  happy   a:3    sell   
    
  • 表名:wp\u frm\u item\u meta

        item_id        field_id       meta_value 
    
        121             96            happy
    
        121             388            a:3
    
        121             237           sell 
    
        120             96            no I'm sad
    
        120             388           a:4
    
        120             237           swap
    
    我希望输出与下面完全相同:

      post_id        meta_key       meta_value 
    
        19241          Price:         590
    
        19241          Shipping:       20
    
        19241          Size:           250X20
    
        19239          price          8412
    
        19239          Shipping:       20
    
    post_id   item_id  user_id  name   price   shipping  size     96       388   237  
    
    
    19241     121      3       balaji   590     20       250X20  happy   a:3    sell   
    
    请帮助执行此查询,非常感谢您阅读我的文章


  • 谢谢你的帮助,巴尔马

    解决办法就在这里

    SELECT i.post_id,
           i.name post_name,
           i.user_id,
           MAX(IF(p.meta_key = "Shipping:",p.meta_value, NULL)) shipping,
           MAX(IF(p.meta_key = "Price:", p.meta_value, NULL)) price,
           MAX(IF(p.meta_key = "Size:", p.meta_value, NULL)) size,
           MAX(IF(p.meta_key = "_wp_attached_file", p.meta_value, NULL)) wp_attached_file
    FROM wp_frm_items i
    JOIN wp_postmeta p ON i.post_id = p.post_id 
    where i.post_id  = 19241 
    GROUP BY i.post_id 
    

    有许多答案显示了如何透视MySQL表。你的问题有什么不同,所以你不能使用这些答案中的一个?是的,亲爱的,我知道这里有很多答案,但我仍然停留在与其他表的连接上。如果你有相同问题的链接,请粘贴在这里,这可能会对我有所帮助。这是我几天前回答的一个类似的问题:非常感谢。你的帖子给了我很多建立查询的帮助,甚至我的问题也得到了解决。非常感谢你,直到现在?考虑提供符合SQL标准的适当的DDLS音符