如果在meta_value
列中找到兩個值的匹配項,我希望grab user_id
。例如,如果存在"tagowner"
的記錄,而其他值僅爲meta_value
列中的"999"
。如何使用AND運算符從單個列中檢索多個值
我嘗試使用IN
操作爲: -
SELECT * from wp_usermeta where meta_value IN ('tagowner',999);
,但是這也顯示了其他組也效果。我只需要"tagowner"
和"999"
的結果。
謝謝
如果在meta_value
列中找到兩個值的匹配項,我希望grab user_id
。例如,如果存在"tagowner"
的記錄,而其他值僅爲meta_value
列中的"999"
。如何使用AND運算符從單個列中檢索多個值
我嘗試使用IN
操作爲: -
SELECT * from wp_usermeta where meta_value IN ('tagowner',999);
,但是這也顯示了其他組也效果。我只需要"tagowner"
和"999"
的結果。
謝謝
如果您需要爲其中兩排都存在,你可以使用EXISTS或自user_ids加入:
SELECT * FROM wp_usermeta t1
WHERE meta_value = 'tagowner'
AND EXISTS (SELECT 1 FROM wp_usermeta t2
WHERE t2.meta_value = '999'
AND t1.user_id = t2.user_id)
例如:sqlfiddle
嘿D.raev,thnksssssssss很多,你的答案解決了我的問題。 – deadrockerrr
很高興聽到這一點,您可以將其標記爲已接受;) –
meta_value是非數值類型。
SELECT *
FROM wp_usermeta
WHERE meta_value IN ('tagowner', '999');
是的WordPress的meta_value是longtext,需要引號搜索! –
場如何能有2個值? 'tagowner'和'999' –
數據庫表未標準化@AndyGee - 不是一個好的做法。似乎是一個增長的趨勢。 –
我不完全理解這個問題,但是您可以使用AND運算符一次查詢多個表列。 SELECT * from wp_usermeta where meta_value = tagowner AND meta_value = 999 ;.另外,我強烈建議使用構建在方法中的單詞按鍵來檢索這些數據。 http://codex.wordpress.org/Class_Reference/WP_Query – Kyle