You're try to do a variation on a cross tab (or pivot) query.
The idea is to create an expression for each output column where you SUM either a 1 or a zero depending on whether the column criteria match for each desired output column:
SUM(CASE WHEN Gender='male' AND Ethnicity='caucasian' THEN 1 ELSE 0 END) as 'male/caucassian',
SUM(CASE WHEN Gender='female' AND Ethnicity='caucasian' THEN 1 ELSE 0 END) as 'female/caucasian',
GROUP BY PosID
ORDER BY PosID;
Custom Apps, Inc.