SELECT COUNT(*) AS Expr1, field1
FROM (SELECT field1
FROM (SELECT SUBSTRING(strSingleKeyword, 0, CHARINDEX(' ', strSingleKeyword)) AS field1
FROM tableKeywords
UNION ALL
SELECT LTRIM(RTRIM(SUBSTRING(strSingleKeyword, CHARINDEX(' ', strSingleKeyword) + 1, CHARINDEX(' ', strSingleKeyword, CHARINDEX(' ', strSingleKeyword) + 1)
- CHARINDEX(' ', strSingleKeyword)))) AS field1
FROM (SELECT LTRIM(RTRIM(strSingleKeyword)) AS strSingleKeyword
FROM tableKeywords AS der_table1) AS derivedtbl_1
WHERE (strSingleKeyword LIKE '% %')) AS derived_table3
UNION ALL
SELECT LTRIM(RTRIM(SUBSTRING(strSingleKeyword, CHARINDEX(' ', strSingleKeyword, CHARINDEX(' ', strSingleKeyword) + 1) + 1, CHARINDEX(' ', strSingleKeyword, CHARINDEX(' ',
strSingleKeyword, CHARINDEX(' ', strSingleKeyword) + 1) + 1) - CHARINDEX(' ', strSingleKeyword, CHARINDEX(' ', strSingleKeyword) + 1)))) AS field1
FROM (SELECT LTRIM(RTRIM(strSingleKeyword)) AS strSingleKeyword
FROM tableKeywords AS der_table1) AS derivedtbl_1_1
WHERE (CHARINDEX(' ', strSingleKeyword, CHARINDEX(' ', strSingleKeyword) + 1) > LEN(strSingleKeyword))) AS derived_table4
GROUP BY field1
ORDER BY field1
Do you want it to be a solution in SQL or in ASP?