在SQL Query中获取多行

时间:2015-08-22 18:37:26

标签: mysql

我在JDBC中使用SQL查询。它应该得到:

1- post_id (来自表wp_posts WHERE post_type = product
2- post_title (来自表wp_posts WHERE post_type = product
来自表的3- meta_value wp_postmeta WHERE(wp_posts.post_id = wp_postmeta.post_id)和wp_postmeta.meta_key = _stock_status,total_sales,_regular_price,_sale_price,_price,_stock < /强>

(来自表WP_POSTMETA 的指定META_KEYs,对应于来自表WP_POSTS 的POST_ID)

基本上,我正致力于从WP数据库中获取WooCommerce产品详细信息。

这是我朋友到目前为止帮助我的代码:

SELECT  wp_posts.ID, wp_posts.post_title,wp_postmeta.meta_value FROM    wp_posts, wp_postmeta WHERE (wp_posts.ID = wp_postmeta.post_id) AND (wp_postmeta.meta_key='_stock')

就像它在查询结束时获得_stock一样,我想为每个POST_ID获得另外5个项目(_stock_status,total_sales,_regular_price,_sale_price,_price)
Details I need to get from wp_postmeta

编辑: 我的朋友帮助我进行了另一个查询,但它没有将信息放在一个数组中,而是为每条信息生成不同的数组项。

SELECT  wp_posts.ID, wp_posts.post_title,wp_postmeta.meta_key,wp_postmeta.meta_value FROM   wp_posts, wp_postmeta WHERE wp_posts.ID = wp_postmeta.post_id HAVING wp_postmeta.meta_key='_stock' OR wp_postmeta.meta_key='_stock_status' OR wp_postmeta.meta_key='total_sales' OR wp_postmeta.meta_key='_regular_price' OR wp_postmeta.meta_key='_sale_price' OR wp_postmeta.meta_key='_price' 

我希望结果出现在一个2D数组中。

1 个答案:

答案 0 :(得分:1)

下面的这个选择语句遵循想要包含其他meta_key信息的问题(不仅仅是“_stock”)。相应地更改,因为只有您拥有数据。

OP显然在这句话中有错误“wp_postmeta.meta_key = _stock_status,total_sales,_reulgar_price,_sale_price,_price,_stock”以及他的“朋友”所写的查询。

SELECT  p.ID, p.post_title,m.meta_value 
FROM wp_posts p
join  wp_postmeta m
on p.ID=m.post_id
AND m.meta_key in ('_stock','_stock_status','total_sales','_regular_price','_sale_price','_price')