나는 이것을 알아 내려고 노력하면서 대부분의 시간을 보냈습니다. 전문가들에게 물어볼 시간 인 것 같아요 : WordPress 밖에있는 내 WordPress DB에 액세스하려고합니다. 난 다소 복잡한 WordPress 데이터베이스에서 출력을 얻을 쿼리를 작성합니다.
meta_values 및 meta_keys를 사용하여 게시물 또는 사용자에 대한 데이터를 여러 행에 저장하는 여러 테이블이 DB에 있습니다. 자신과 서로에게 테이블에 합류하기
ID | post_type | post_status
----+-----------+------------
2001| shop_order| publish
표 wp_posts
:object_id | term_taxonomy_id
----------+-----------------
2001 | 190
표 wp_term_relationships
테이블 : wp_postmeta
post_id | meta_key | meta_value
---------+-----------------+------------
2001 | _customer_user | 3
2001 |order_description| smith
2001 | _order_total | 300
테이블 예를 들어
는 여기에 내가로부터 끌어해야 할 네 개의 테이블입니다 : wp_usermeta
SELECT wp_posts.ID, wp_posts.post_title,ot.meta_value as total,od.meta_value as order_desc, cu.meta_value as customer
FROM wp_posts
LEFT JOIN wp_postmeta AS ot ON (wp_posts.ID = ot.post_id AND ot.meta_key='_order_total')
LEFT JOIN wp_postmeta AS od ON (wp_posts.ID = od.post_id AND od.meta_key='order_description')
LEFT JOIN wp_postmeta AS cu ON (wp_posts.ID =cu.post_id AND cu.meta_key='_customer_user')
LEFT JOIN wp_term_relationships ON wp_posts.ID = wp_term_relationships.object_id
WHERE wp_posts.post_type = 'shop_order'
AND wp_posts.post_status = 'publish'
AND wp_term_relationships.term_taxonomy_id = '190'
GROUP BY wp_posts.ID ORDER BY wp_posts.post_date DESC"
: 6,
user_id | meta_key |meta_value
---------+-----------------+----------
3 | first_name | Andy
3 | last_name | Mccormick
나는 하나의 행의 주문 번호 (post_id를) 고객 ID, 주문 설명 및 주문 합계를 표시 할 큰 일이 쿼리를 가지고 이름으로 고객을 나열뿐 아니라 ID로 그래서 나는이 같은 wp_usermeta 테이블에서 자신의 성과 이름을 얻으려고 :
SELECT wp_posts.ID, cu.meta_value as customer, fn.meta_vale as fname, ln.meta_value as lname
FROM wp_posts
LEFT JOIN wp_postmeta AS cu ON (wp_posts.ID = cu.post_id AND cu.meta_key='_customer_user')
LEFT JOIN wp_usermeta AS fn ON (cu.meta_key = fn.user_id AND fn.meta_key='first_name')
LEFT JOIN wp_usermeta AS ln ON (cu.meta_key = ln.user_id AND ln.meta_key='last_name')
LEFT JOIN wp_term_relationships ON wp_posts.ID = wp_term_relationships.object_id
WHERE wp_posts.post_type = 'shop_order'
AND wp_posts.post_status = 'publish'
AND wp_term_relationships.term_taxonomy_id = '190'
GROUP BY wp_posts.ID ORDER BY wp_posts.post_date DESC;
나는 또한 시도했다 : LEFT는 AS FN ON wp_usermeta 가입 ((cu.me ta_key = '_ customer_user') = fn.user_id AND fn.meta_key = 'first_name')와 다른 서브 쿼리 등이 있습니다.
분명히 나는 지금 SQL 쿼리에서 나의 급여 등급보다 높기 때문에 어떤 도움도 훌륭 할 것입니다. 감사!
두 번째 쿼리에서 얻은 결과는 무엇입니까? – TheWolf
# 1054 - 당신은 coorect하지만 내가 사용하는 경우 –