我有两个表:如何从两个表中获取数据作为一行
_____________________________
| wp_post | wp_postmeta |
|______________|_____________|
| ID | meta_id |
| post_title | post_id |
| post_content | meta_key |
| guid | meta_value |
|______________|_____________|
的wp_postmeta
表包含这些行:
| meta_id | post_id | meta_key | meta_value
|---------|---------|-----------------|---------------
| 310 | 156 | level | Blue
| 311 | 156 |_post_main_intro | Some text
我想要的结果是:
post_title, post_content, meta_value as color, meta_value as main_intro
我试过不同的连接,但我不能很好地修复它。
SELECT a.post_title, b.meta_key, b.meta_value
FROM wp_posts a
LEFT JOIN wp_postmeta b ON a.ID = b.post_id
WHERE b.meta_key = 'level'
但是,这并不让我去取_post_main_intro
数据:
我得到这是接近。
我会很高兴,如果有人能在正确的方向:)
更新
我目前的解决办法是这样的推我(和它的作品)
SELECT a.id, a.post_title, b.meta_value as color, c.meta_value as post_intro
FROM wp_posts a
LEFT JOIN wp_postmeta b ON a.ID = b.post_id
LEFT JOIN wp_postmeta c ON a.ID = c.post_id
WHERE b.meta_key = 'level'
AND c.meta_key = '_post_main_intro'
这是thew去哪里?
没有在哪里b.meta_key ='_post_main_intro'工作..! – 2012-01-02 10:13:59
您是否在寻找数据透视表?看到这个链接http://datacharmer.org/downloads/pivot_tables_mysql_5.pdf – Pavan 2012-01-02 10:13:59
@Sudhir他希望水平和_post_main_intro在一行^^ – 2012-01-02 10:22:09