I have for the table ad_params
the a crosstab so i made:
coalesce(max(CASE when ad_params.name='model' and ad_params.value='cordova'then ad_params.value end ),NULL)
to fix it ,however the condition is ad_params.value='cordova'
not working
it's getting me all the result where the model
is cordova
it is shown else just a blank in the model
field so i have to delete all the fields where it is not
************************************************************************
ad_media_id | ad_id | name | timestamp| regdate | brand | fuel |model
xxxxxxxxxxx 1 jack xxxx cordova
xxxxxxxxxxx 2 joe xxxx cordova
************************************************************************
so i must just have Number 1
coalesce(max(CASE WHEN ad_params.name='regdate'
THEN ad_params.value END),NULL) AS regdate,
select ad_media.ad_media_id
, ad_media.ad_id
, ads.name
, action_states.timestamp
, max(CASE WHEN ad_params.name = 'regdate' THEN ad_params.value END)
AS regdate
, max(CASE WHEN ad_params.name = 'mileage' THEN ad_params.value END)
AS mileage
, max(CASE WHEN ad_params.name = 'fuel' THEN ad_params.value END)
AS fuel
, max(CASE WHEN ad_params.name = 'brand' THEN ad_params.value END)
AS brand
, max(CASE WHEN ad_params.name = 'model' THEN ad_params.value END)
AS model
from ad_media
left join action_states
on action_states.ad_id = ad_media.ad_id
inner join ads
on ads.ad_id = action_states.ad_id
inner join ad_params
on ad_params.ad_id = ad_media.ad_id
and
(
ad_params.name = 'model'
and ad_params.value = 'cordoba'
)
where action_states.state = 'reg'
and action_states.action_id = '1'
and action_states.timestamp::DATE BETWEEN '2018-04-17' AND '2018-04-17'
and ads.category = '2010'
group by ad_media.ad_media_id
, ad_media.ad_id
, ads.name
, action_states.timestamp
order by ad_media.ad_id;