Abaixo está uma instrução que descreve uma tarefa de geração de SQL, combinada com uma entrada que fornece mais contexto sobre os esquemas de tabela disponíveis. Escreva o código SQL que responda adequadamente à solicitação
 ###Instrução: Qual é o número total de fumantes e não fumantes, diferenciados por gênero, para cada cidade nas tabelas health_survey e population_data?
 ###Tabelas: 
CREATE TABLE health_survey (city TEXT, gender TEXT, smoker BOOLEAN); INSERT INTO health_survey (city, gender, smoker) VALUES ('CityA', 'Male', true), ('CityA', 'Female', false), ('CityB', 'Male', false), ('CityB', 'Female', true); CREATE TABLE population_data (city TEXT, gender TEXT, total_population INT); INSERT INTO population_data (city, gender, total_population) VALUES ('CityA', 'Male', 50000), ('CityA', 'Female', 60000), ('CityB', 'Male', 45000), ('CityB', 'Female', 55000);
SELECT hs.city, hs.gender, SUM(CASE WHEN hs.smoker THEN 1 ELSE 0 END) AS smokers, SUM(CASE WHEN NOT hs.smoker THEN 1 ELSE 0 END) AS non_smokers FROM health_survey hs JOIN population_data pd ON hs.city = pd.city AND hs.gender = pd.gender GROUP BY hs.city, hs.gender;