0

我已经运行了这段代码:

SELECT * FROM wp_postmeta 
INNER JOIN wp_term_relationships ON wp_postmeta.post_id = wp_term_relationships.object_id AND wp_term_relationships.term_taxonomy_id = '10' 
LEFT JOIN wp_posts ON wp_postmeta.post_id = wp_posts.id AND wp_postmeta.meta_value = 'US' AND wp_posts.post_date BETWEEN CONCAT(CURDATE(),' 10:00:00') AND CONCAT(CURDATE(),' 18:00:00')
WHERE wp_postmeta.meta_key = '_shipping_country' AND wp_postmeta.meta_value IN ('AU', 'US', 'JP', 'BR', 'UK')
ORDER BY wp_postmeta.post_id DESC

这只是选择它们等于wp_postmeta.meta_key和的位置。wp_postmeta.meta_value_shipping_countryAU

这些字段中有更多数据需要检索。

所以,我假设我在最后像这样重新加入它:

SELECT * FROM wp_postmeta 
INNER JOIN wp_term_relationships ON wp_postmeta.post_id = wp_term_relationships.object_id AND wp_term_relationships.term_taxonomy_id = '10' 
LEFT JOIN wp_posts ON wp_postmeta.post_id = wp_posts.id AND wp_postmeta.meta_value = 'US' AND wp_posts.post_date BETWEEN CONCAT(CURDATE(),' 10:00:00') AND CONCAT(CURDATE(),' 18:00:00')
WHERE wp_postmeta.meta_key = '_shipping_country' AND wp_postmeta.meta_value IN ('AU', 'US', 'JP', 'BR', 'UK')
LEFT JOIN wp_postmeta ON wp_posts.id = wp_postmeta.post_id
ORDER BY wp_postmeta.post_id DESC

然而这失败了?

4

1 回答 1

0

更新了查询,因此它应该返回 shipping_country 匹配“AU”、“US”、“JP”、“BR”或“UK”的订单的所有数据。

SELECT * FROM wp_postmeta 
INNER JOIN wp_term_relationships ON wp_postmeta.post_id = wp_term_relationships.object_id AND wp_term_relationships.term_taxonomy_id = '10' 
LEFT JOIN wp_posts ON wp_postmeta.post_id = wp_posts.id AND wp_posts.post_date BETWEEN CONCAT(CURDATE(),' 10:00:00') AND CONCAT(CURDATE(),' 18:00:00')
WHERE EXISTS(SELECT * FROM wp_postmeta pm2 WHERE pm2.post_id = wp_posts.id AND pm2.meta_key = '_shipping_country' AND pm2.meta_value IN ('AU', 'US', 'JP', 'BR', 'UK'))
ORDER BY wp_postmeta.post_id DESC
于 2012-08-13T16:34:44.273 回答