You do not create a loop; you are using an INSERT / SELECT combination.
SQL Server 2008:
INSERT INTO Destination_Table(Month, Traffic_Count)
SELECT DATEADD(day, 1 - DAY(traffic_date), traffic_date),
SUM(door_one + door_two)
FROM Practice_Table
GROUP BY DATEADD(day, 1 - DAY(traffic_date), traffic_date)
SQL Server 2012:
INSERT INTO Destination_Table(Month, Traffic_Count)
SELECT DATEFROMPARTS(YEAR(traffic_date), MONTH(traffic_date), 1),
SUM(door_one + door_two)
FROM Practice_Table
GROUP BY DATEFROMPARTS(YEAR(traffic_date), MONTH(traffic_date), 1)
2006 2006-10-01 Destination_Table.
DATE, DATETIME, . , DATETIMEFROMPARTS(), , .
NULL "", . , , , SUM(door_one) + SUM(door_two). , SUM, NULL ( , ), door_one + door_two NULL, NULL, . . , NOT NULL , , .