첫 번째로 여러 테이블을 쿼리하는 것이 처음이므로 새로운 바보 같은 질문 일지 모르겠다. 어딘가에서 시작! 내가 이해하려면이 쉽게해야한다 그림했습니다MySQL 쿼리 - 두 가지 요소를 기반으로 데이터를 결합한 다음 값에 따라 데이터 정렬 방식을 사용자 정의합니다.
:
http://www.mediumsliced.co.uk/temp/mysqlhelp.jpg
내 첫 번째 테이블 wp_user 몇 가지 열이 - 나는 ID의 USER_EMAIL 및 user_nicename있는 3 열에서 값을 원하는 .
내 두 번째 테이블 wp_usermeta에는 사용자에 대한 메타 데이터를 저장하는 3 개의 열이 있습니다. 이 열은 user_id, meta_key 및 meta_value입니다. 이 테이블의 user_id 값은 항상 wp_user (그림 참조)의 일치하는 ID 값에 해당합니다.
meta_key 필드와 함께 meta_value의 데이터를 결합하고 싶습니다.
SELECT wp_users.ID, wp_users.user_login, wp_users.user_nicename, wp_users.user_email,
wp_usermeta.user_id, wp_usermeta.meta_key, wp_usermeta.meta_value
FROM wp_users, wp_usermeta
WHERE (wp_users.ID = wp_usermeta.user_id);
이 내가 필요로하는 모든 정보를 표시하지만 내가 가지고있는 문제는 내가 실제로 개별 열로 meta_key의 데이터와 올바른 행에서 해당 메타 키에 대한 meta_value를 표시 할 것입니다 : 지금까지이있다 해당 사용자의 ID를 기반으로 또한 wp_user_level이없는 사용자는 제외해야합니다. (다시 한 번 알려 드리겠습니다.)
분명히 MySql에 관해 배울 점이 많지만 누구나 나를 안내 할 수 있다면 궁극적으로 나는 정말로 감사 할 것입니다, 만약 당신이 쿼리를 설명 할 수 있다면 그것을 배울 수 있습니다.
감사합니다. 더 많은 정보가 필요하거나 무엇인가를 명확히하기 위해 나를 필요로한다면 많이 물어보십시오!
크레이그
EAV 테이블은 극도로 열악한 디자인이며 효과적으로 쿼리하기가 어려우며 실적이 저조합니다. 필요한 열을 정의하고 정규화 된 테이블로 재구성하는 작업을 제안하십시오. – HLGEM
@HLGEM, 나는 그가 그걸로 살아야만한다고 생각한다. -> http://codex.wordpress.org/Database_Description#Table:_wp_usermeta – Unreason
@Unreason - 보너스 기능 : 데이터베이스에 두 가지가 없도록하는 것이 아무것도 없다. meta_key가 같지만 값이 다른 동일한 user_id에 대한 메타 행. – Thomas