I am trying to run the query below, but it is not returning the data as expected. I noticed that if I remove the references to the LEFT JOINed tables in the SELECT portion, it works fine. What am I doing wrong?
SELECT m.ticker|| ' ' ||
CASE
WHEN x.ticker IS NULL THEN 'N'
ELSE 'Y'
END|| ' ' ||
CASE
WHEN s.ticker IS NULL THEN 'N'
ELSE 'Y'
END|| ' ' ||
l.current_recommendation|| ' '
||TO_CHAR(l.recommendation_date,'MM/DD/YYYY')|| ' ' ||
z.current_recommendation|| ' '
||TO_CHAR(z.date_recommended,'MM/DD/YYYY')
FROM master_table m
JOIN zrec_investars_recommendation l USING(ticker)
JOIN all_recommendation_1 z USING(ticker)
LEFT JOIN zer_ticker_data x ON x.ticker = m.ticker
LEFT JOIN scr_tickers s ON x.ticker = s.ticker
WHERE m.ticker = 'KEGX'
ORDER BY CASE
WHEN x.ticker IS NULL THEN 'N'
ELSE 'Y'
END DESC;
This however, works just fine:
SELECT *
FROM master_table m
JOIN zrec_investars_recommendation l USING(ticker)
JOIN all_recommendation_1 z USING(ticker)
LEFT JOIN zer_ticker_data x ON x.ticker = m.ticker
LEFT JOIN scr_tickers s ON x.ticker = s.ticker
WHERE m.ticker = 'KEGX'
ORDER BY CASE
WHEN x.ticker IS NULL THEN 'N'
ELSE 'Y'
END DESC;
Why can't I perform the NULL tests in the SELECT portion? Is there a way to fix this?
concat_ws(' ', ...)- a_horse_with_no_namezrec_investars_recommendationorall_recommendation_1might be NULL? - a_horse_with_no_nameCOALESCE(theColumn, '')to insure that your NULL values don't nuke your concatenated string. - JNevill