0

私は次のSQLを持っています:

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' 
INNER JOIN wp_posts ON wp_postmeta.post_id = wp_posts.id WHERE 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

動作しない理由はありますが、2番目を削除するINNER JOINと正常に動作しますか?

4

4 に答える 4

2

WHERE内部結合状態にすることはできません。

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' 
INNER 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 wp_postmeta.meta_key = '_shipping_country' AND wp_postmeta.meta_value IN ('AU', 'US', 'JP', 'BR', 'UK')
ORDER BY wp_postmeta.post_id DESC
于 2012-08-13T13:22:11.800 に答える
0

WHERE同じクエリに2つの句を含めることはできません。

最初のWHERE条件を既存の句に移動するかAND、Joinの条件にするだけです。

また:

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'  
INNER 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 wp_postmeta.meta_key = '_shipping_country' AND wp_postmeta.meta_value IN ('AU', 'US', 'JP', 'BR', 'UK') 
ORDER BY wp_postmeta.post_id DESC 

または:

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'  
INNER JOIN wp_posts ON wp_postmeta.post_id = wp_posts.id 
WHERE wp_postmeta.meta_key = '_shipping_country' AND wp_postmeta.meta_value IN ('AU', 'US', 'JP', 'BR', 'UK') 
AND wp_posts.post_date BETWEEN CONCAT(CURDATE(),' 10:00:00') AND CONCAT(CURDATE(),' 18:00:00') 
ORDER BY wp_postmeta.post_id DESC 
于 2012-08-13T13:23:20.497 に答える
0

2つの「WHERE」ステートメントがあります。それは問題になる可能性があります:)

于 2012-08-13T13:22:14.897 に答える
0

wp_postmetaはい:対応するものwp_term_relationshipsとあるものがあるかもしれませんがwp_posts、両方を持つものはありません。

データの詳細を確認するには、結合を次のように変更してくださいLEFT JOIN

于 2012-08-13T13:22:34.217 に答える