2014-01-07 114 views
0

有兩個表:wp_users和wp_usermeta。MySQL,使用2表獲取信息

的wp_users表的結構是這樣的:

id | email 
--------------- 
1 | [email protected] 
2 | [email protected] 

的wp_usermeta表的結構是這樣的:

id | user_id | meta_key    | meta_value 
--------------------------------------------------- 
1 | 1  | firstname    | bob 
2 | 1  | lastname    | smith 
3 | 1  | app_prefferedcategories | {"blog_id":"5"},{"blog_id":"22"} 
4 | 2  | firstname    | jan 
5 | 2  | lastname    | jones 
6 | 2  | app_prefferedcategories | {"blog_id":"1"},{"blog_id":"7"} 

我試圖做到的是要得到用戶的所有電子郵件不會忽略在meta_key app_prefferedcategories中具有{「blog_id」:「5」}的meta_value。 我知道如何一次查詢一個表格,但我有困難加入他們。 任何人都可以對此發光嗎?

在此先感謝!

回答

1
SELECT u.email 
FROM wp_users u 
INNER JOIN wp_usermeta um ON u.id = um.user_id 
WHERE um.meta_key = 'app_prefferedcategories' AND um.meta_value LIKE '%{"blog_id":"5"}%' 
1
select u.email 
from wp_usermeta m 
inner join wp_users u on u.id = m.user_id 
where meta_key = 'app_prefferedcategories' 
and find_in_set('{"blog_id":"5"}', meta_value) > 0