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 に答える