我在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)
编辑: 我的朋友帮助我进行了另一个查询,但它没有将信息放在一个数组中,而是为每条信息生成不同的数组项。
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数组中。
答案 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')