Oracle Case when problem
You are trying to write a PIVOT query.  If you're trying to use a CASE to do so (which implies that you are not on 11g where you can simply use the PIVOT operator), you need to do an aggregate

SELECT work_id,
       MAX( CASE WHEN &lt;&lt;condition1&gt;&gt; then group else null end ) as "1.group",
       MAX( CASE WHEN &lt;&lt;condition2&gt;&gt; then group else null end ) as "2.group",
       MAX( CASE WHEN &lt;&lt;condition3&gt;&gt; then group else null end ) as "3.group",
       MAX( CASE WHEN &lt;&lt;condition1&gt;&gt; then effort else null end ) as "1.effort",
       MAX( CASE WHEN &lt;&lt;condition2&gt;&gt; then effort else null end ) as "2.effort",
       MAX( CASE WHEN &lt;&lt;condition3&gt;&gt; then effort else null end ) as "3.effort"
  FROM &lt;&lt;table name&gt;&gt;
 GROUP BY work_id


Of course, you presumably don't actually have a column named GROUP in your table since that is a reserved word.