2017-02-06 2 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, прежде чем возвращать результаты, которые соответствуют только этому человеку.

Как только я сопоставил имя пользователя с user_id из другой таблицы, я хотел бы вернуть числовые значения (field_id 9 и 13).

Я пробовал использовать соединения и несколько запросов на выбор, увы, все они возвращают 0 строк.

Я ценю любую помощь или совет, которые вы можете предоставить.

Большое спасибо,

Пример SQL кода

Первый

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 

Это сделал работу, когда у меня был один набор значений, однако она сломалась, когда вторая запись была сделана.

ответ

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 
Смежные вопросы