Есть ли способ присоединиться к следующим операторам SELECT?

#sql #sqlite #select

Вопрос:

 SELECT   date,   people_fully_vaccinated AS 'Australia' FROM vaccinations  WHERE location = 'Australia'; SELECT   date,   people_fully_vaccinated AS 'United States' FROM vaccinations  WHERE location = 'United States'; SELECT   date,   people_fully_vaccinated AS 'France' FROM vaccinations  WHERE location = 'France'; SELECT   date,   people_fully_vaccinated AS 'Israel' FROM vaccinations  WHERE location = 'Israel';  

Ответ №1:

Если вас не волнует, что цифры по каждой стране находятся в отдельных строках, вы можете использовать:

 select date,  location,  people_fully_vaccinated from vaccinations where location in ('Australia','United States','France','Israel');  

Если вы хотите, чтобы цифры по каждой стране отображались в одной строке для каждой даты, вы можете использовать:

 select date,  sum(case when location = 'Australia' then people_fully_vaccinated else 0 end) as "Australia",  sum(case when location = 'United States' then people_fully_vaccinated else 0 end) as "United States",  sum(case when location = 'France' then people_fully_vaccinated else 0 end) as "France",  sum(case when location = 'Israel' then people_fully_vaccinated else 0 end) as "Israel" where location in ('Australia','United States','France','Israel') group by date;  

Комментарии:

1. спасибо за ответ. Второй-это то, что мне нужно

Ответ №2:

У вас уже есть местоположение в качестве названия страны. Поэтому не нужно выбирать столбец люди, которые полностью вакцинированы

если вы хотите отфильтровать по конкретной стране, используйте ниже это:

 SELECT date  ,location FROM vaccinations WHERE location = 'Australia'  OR location = 'United States'  OR location = 'France'  OR location = 'Israel'  

если вы хотите получить все, то используйте ниже это:

 SELECT date,location FROM vaccinations;