2014-01-13 3 views
0

Как мы можем направить команду во второй столбец, когда первый из них NULL для извлечения данных, а второй столбец присоединяется к другой таблице через команду Join.Как мы можем переключать столбцы, когда сначала является Null

Select 
competitions.name as "Competition", 
to_char(to_date(date,'DY Mon DD YYYY'),'D.MM.YYYY') as "Date Aired", 
case when home_team.name Is null then to_char(to_date(date,'DY Mon DD YYYY'),'MM-DD')||' '||video_jobs.event else 
to_char(to_date(date,'DY Mon DD YYYY'),'MM-DD')||' '||Away_team.name||' '||'@'||' '||home_team.name end as "Title", 
min(case when new_status_id = 19 then to_char(timestamp,'DD.MM.YY') end) as "Analysis Start date", 
min(case when new_status_id = 13 then to_char(timestamp,'DD.MM.YY') end) as "Analysis Complete", 
min(case when new_status_id = 9 then to_char(timestamp,'DD.MM.YY') end) as "Upload complete" 

from video_jobs 

Join job_statuses on video_jobs.status_id = job_statuses.id 
join teams as Home_team on video_jobs.home_team_id = home_team.id 
join teams as Away_team on video_jobs.away_team_id = Away_team.id 
Join competitions on video_jobs.competition_id = competitions.id 
Join video_job_status_history on video_jobs.id = video_job_status_history.video_job_id 

Where video_jobs.id = 163887 --and video_jobs.market_id=9 
-- and video_jobs.status_id != 32 

group by 
video_jobs.id, 
competitions.name, 
home_team.name, 
+0

Вы используете инструмент ETL? Если да, то какой? Если нет, можете ли вы опубликовать SQL, который у вас есть? Спасибо –

+0

Вы используете mysql или postgresql? Это не одно и то же. Пожалуйста, добавьте теги, которые действительно применяются к вашему вопросу, а не просто случайным образом захватывают вещи, которые похожи. В тегах есть определенные определения (которые вы можете увидеть в описании, которое появляется при вводе текста или через tagwiki тега здесь). Использование правильных тегов помогает получить до людей, которые могут вам помочь, и правильно классифицирует их для будущих пользователей, которые ищут помощь здесь. Благодарю. –

ответ

1

Ваш вопрос далеко не ясно, но я верю, что вы ищете функции coalesce, которая поддерживается как Postgres и MySQL.

0

Вы можете использовать COALESCE:

SELECT COALESCE(t1.column1, t2.column2) AS unified_column 
FROM table1 AS t1 
JOIN table2 AS t2 USING (joincolumn) 
Смежные вопросы