Database schema:

CREATE TABLE relation (
	store_nbr INTEGER -- example: ['2', '1'],
	station_nbr INTEGER -- example: ['1', '14'],
	PRIMARY KEY (store_nbr), 
	CONSTRAINT fk_relation_sales_in_weather FOREIGN KEY(store_nbr) REFERENCES sales_in_weather (store_nbr),
	CONSTRAINT fk_relation_weather FOREIGN KEY(station_nbr) REFERENCES weather (station_nbr)
)


CREATE TABLE sales_in_weather (
	date DATE -- example: ['2012-01-02', '2012-01-01'],
	store_nbr INTEGER -- example: ['2', '1'],
	item_nbr INTEGER -- example: ['2', '1'],
	units INTEGER -- example: ['0', '29'],
	PRIMARY KEY (store_nbr, date, item_nbr)
)


CREATE TABLE weather (
	station_nbr INTEGER -- example: ['2', '1'],
	date DATE -- example: ['2012-01-02', '2012-01-01'],
	tmax INTEGER -- example: ['52', '50'],
	tmin INTEGER -- example: ['11', '31'],
	tavg INTEGER -- example: ['42', '41'],
	depart INTEGER -- example: ['16', '12'],
	dewpoint INTEGER -- example: ['26', '36'],
	wetbulb INTEGER -- example: ['40', '35'],
	heat INTEGER -- example: ['23', '24'],
	cool INTEGER -- example: ['0', '5'],
	sunrise TEXT -- example: ['07:16:00', '07:15:00'],
	sunset TEXT -- example: ['16:27:00', '16:26:00'],
	codesum TEXT -- example: ['RA FZFG BR', ' '],
	snowfall REAL -- example: ['0.0', '0.05'],
	preciptotal REAL -- example: ['0.05', '0.01'],
	stnpressure REAL -- example: ['29.78', '29.44'],
	sealevel REAL -- example: ['29.62', '29.92'],
	resultspeed REAL -- example: ['9.8', '3.6'],
	resultdir INTEGER -- example: ['24', '20'],
	avgspeed REAL -- example: ['4.6', '10.3'],
	PRIMARY KEY (station_nbr, date)
)

Question: How many items were sold by store 9 during a snowy day?
Evidence: store 9 refers to store_nbr = 9; snowy day refers to snowfall < > 0 and snowfall is not null; item refers to item_nbr

SQL:
SELECT COUNT(DISTINCT item_nbr) FROM weather AS T1 INNER JOIN relation AS T2 ON T1.station_nbr = T2.station_nbr INNER JOIN sales_in_weather AS T3 ON T2.store_nbr = T3.store_nbr WHERE T3.store_nbr = 9 AND T1.snowfall <> 0 AND T1.snowfall IS NOT NULL