2017-02-06 4 views
0

私はちょうどMySQLとWordpressでもう少し仕事を始めましたので、どんな助けでも大歓迎です。再度一致した後の単一列からのMYSQLリクエスト値user_id

私はこのような表エントリを持っています。

|-----meta_value-----||field_id||item_id| 
|---------45---------||---9----||---7---| 
|--------adam--------||---8----||---7---| 
|---------3----------||---13---||---7---| 
|[email protected]||---14---||---7---| 
|------exercise------||---10---||---7---| 
|---------40---------||---9----||---6---| 
|--------steve-------||---8----||---6---| 
|---------1----------||---13---||---6---| 
|[email protected]||---14---||---6---| 
|------Training------||---10---||---6---| 

私が目指しているのは、グラフや表を使ってエンドユーザーに使用できるデータを追加することです。

私はログイン時にユーザーのメールを受け取っています。これは、そのユーザーにのみ一致する結果を返す前にmeta_valueと照合したいと思っています。

ユーザ名と別のテーブルのユーザIDを一致させたら、数値(field_id 9と13)を返す必要があります。

私は、ジョインと複数の選択クエリを使用しようとしました。それらはすべて0行を返します。

私はあなたが提供できる助言やアドバイスを感謝します。

多くのおかげで、私は単一の値セットを持っていたとき、これは、仕事をした2番目のエントリが作成されたとき、しかし、それは破った

SELECT 
    (SELECT meta_value FROM wp_frm_item_metas WHERE field_id = 9) AS Time, 
    (SELECT meta_value FROM wp_frm_item_metas WHERE field_id = 13) AS Intensity 

まず

例SQLコード。

答えて

0
Below query will give you desired output 

select item_id,sum(case when field_id=9 then meta_value else 0 end) Minutes, sum(case when field_id=13 then meta_value else 0 end) Intensity from ( 
select t.item_id,wpm.field_id,meta_value from (
SELECT item_id from wp_frm_item_metas where meta_value = '[email protected]' and field_id = 14) as t join wp_frm_item_metas wpm on t.item_id = wpm.item_id and wpm.field_id in (9,13) 
) as t1 group by item_id 
関連する問題