You can do this in a single query grouping by the expression extracting the
first word from the string:
CREATE TABLE Foo (
keycol INT PRIMARY KEY,
datacol VARCHAR(35));
INSERT INTO Foo VALUES(1, 'one way');
INSERT INTO Foo VALUES(2, 'one day');
INSERT INTO Foo VALUES(3, 'next day');
SELECT LEFT(datacol, CHARINDEX(' ', datacol) - 1) AS first_word,
COUNT(*) AS cnt
FROM Foo
GROUP BY LEFT(datacol, CHARINDEX(' ', datacol) - 1);
HTH,
Plamen Ratchev
http://www.SQLStudio.com