我正在嘗試從 wp_postmeta 表中提取多個 ID,并在兩條記錄中檢查雙 WHERE 條件:
WHERE (meta_key = 'leather' AND meta_value = 'calf') -> First record
AND
WHERE (meta_key = 'gender' AND meta_value = 'woman') -> Second record
在一家銷售皮革制品的商店中,我需要為 WOMAN(性別)提取 CALF(皮革)中的產品(基于 postmeta)。
必須在兩個具有相同 ID 的記錄上檢查條件,如圖所示。
我從各種帖子中嘗試了十幾種不同的解決方案,但直到現在都沒有結果。
謝謝你。
wp_postmeta 表中的 Wiew 示例
uj5u.com熱心網友回復:
你可能需要一個內部連接:
select ID from wp_posts p
INNER JOIN wp_postmeta m1 ON m1.post_id = p.ID AND m1.meta_key = 'leather' AND m1.meta_value = 'calf'
INNER JOIN wp_postmeta m2 ON m2.post_id = p.ID AND m2.meta_key = 'gender' AND m2.meta_value = 'woman'
我有一個類似的問題,但在我的情況下,`meta_value` 都需要相同(`1`)
我是這樣解決的:
select ...
where (
meta_key in ('field1', 'field2')
and meta_value = 1
)
having count(distinct meta_key) = 2
你可能還需要一份group by宣告
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/365695.html
標籤:php mysql WordPress的 选择 后元
