2016-04-15 14 views
-1

3つのテーブルからデータを取得するにはいくつかの助けが必要です。 私は自分で研究することができましたが、私は持っていない時間がかかります。私は必要なもの3つのテーブルを持つSQL JOIN

は次のとおりです。

Table Name  - columns needed 
wp_bp_activity - item_id, user_id 
wp_posts  - ID , -------, post_author, post_title 
wp_users  - -------, user_id, -----------, ----------, display_name, user_email 

WHERE type (in wp_bp_activity) = 'unit_complete' AND MONTH(date_recorded) (in wp_bp_activity) = $i 

はあなたがPHP PDOでこのクエリを作成するために私を助けていただけますか?要求されるように編集された

wp_bp_activity: id  user_id  component type action content  primary_link item_id  secondary_item_id date_recorded hide_sitewide mptt_left mptt_right is_spam 
wp_posts: id post_author  post_date post_date_gmt post_content post_title post_excerpt post_status  comment_status ping_status  post_password post_name to_ping  pinged post_modified post_modified_gmt post_content_filtered post_parent  guid menu_order post_type post_mime_type comment_count 
wp_users: id user_login user_pass user_nicename user_email user_url user_registered  user_activation_key  user_status  display_name 

私は必要なものは3つのテーブルの下にはなく、単一のラインとしての情報です。

wp_bp_activityテーブルは、WHERE date_recorded = $iの月に基づいてitem_iduser_idを提供します。これは、PHPの別のセクションで提供されるものです。 post_author - author of the unit coursepost_title - the name of the courseを取得するために必要な情報がitem_idID in wp_postsから提供されます。その後、user_idは私にwp_usersdisplay_name - student's nameuser_email - student's emailを提供します。最後に

Iは単位がitem_iduser_idに基づいて、(例えば)4月にunit_complete (MONTH(date_recorded))を完了したことpost_authorpost_titledisplay_nameuser_emailを表示します。

+0

完全なスキーマと状態あなたが欲しいものだけでなく、制約を共有してください。 – naf4me

+0

申し訳ありませんが、私はあなたが何を要求しているのか分かりませんでした。 – William

+0

テーブルの完全な構造を投稿し、実際にどのように組み合わせたいのか3。私には、「3つの異なるテーブルからデータを取得する」以外に、ここで達成したいものが明確ではない – georaldc

答えて

1

は、次のSQLクエリを試してみて、あなたが得るものを教えてください:

SELECT 
    activity.item_id, 
    activity.user_id, 
    posts.ID, 
    posts.post_author, 
    posts.post_title, 
    users.display_name, 
    users.user_email 
FROM wp_bp_activity AS activity 
JOIN wp_posts AS posts 
    ON posts.ID = activity.item_id 
JOIN wp_users AS users 
    ON users.ID = activity.user_id 
WHERE activity.type = 'unit_complete' 
    AND MONTH(activity.date_recorded) = $i 
+0

デービッド、ありがとう、私はすぐにテストし、正解をチェックするためにここに戻ります。しかし、私はJOINの背後にあるアイデアを得ました。乾杯。 – William

+0

ありがとうDavid、私はそれをテストすることができた、それは働いた!私は少し修正して他のものを入れなければなりませんでしたが、あなたの答えですぐにそれを扱うことができました!乾杯! – William

関連する問題