Well, I'm no guru, but I got a not-so-pretty query to work that out 

 ...
Let's say you have the following table definition:
CREATE TABLE mytable (
                mykey INT(20) NOT NULL,
                element_name CHAR(100) NOT NULL,
                element_value CHAR(100) NOT NULL
) ENGINE = InnoDB;
Note: I made it in mysql, the id value is renamed to "mykey" instead of just key, and there is no primary key.
Then I populated it:
insert into mytable (mykey, element_name, element_value) values (1, 'Case number', '1111111');
insert into mytable (mykey, element_name, element_value) values (1, 'First Name', 'Bob');
insert into mytable (mykey, element_name, element_value) values (1, 'Last Name', 'ABC');
insert into mytable (mykey, element_name, element_value) values (1, 'DOB', '8-2-1980');
insert into mytable (mykey, element_name, element_value) values (2, 'Case number', '2222222');
insert into mytable (mykey, element_name, element_value) values (2, 'First Name', 'John');
insert into mytable (mykey, element_name, element_value) values (2, 'Last Name', 'Doe');
insert into mytable (mykey, element_name, element_value) values (2, 'DOB', '7-2-1980');
insert into mytable (mykey, element_name, element_value) values (3, 'Case number', '3333333');
insert into mytable (mykey, element_name, element_value) values (3, 'First Name', 'Ayrton');
insert into mytable (mykey, element_name, element_value) values (3, 'Last Name', 'Senna');
insert into mytable (mykey, element_name, element_value) values (3, 'DOB', '1-2-1985');
insert into mytable (mykey, element_name, element_value) values (4, 'Case number', '4444444');
insert into mytable (mykey, element_name, element_value) values (4, 'First Name', 'JustFirst');
insert into mytable (mykey, element_name, element_value) values (4, 'DOB', '7-5-1995');
And the following query:
select distinct mykey,
(select element_value from mytable tbla where tbla.mykey=tbl.mykey and element_name='Case number') as 'Case number',
(select element_value from mytable tblb where tblb.mykey=tbl.mykey and element_name='First Name') as 'First Name',
(select element_value from mytable tblc where tblc.mykey=tbl.mykey and element_name='Last name') as 'Last name',
(select element_value from mytable tbld where tbld.mykey=tbl.mykey and element_name='DOB') as 'DOB'
from mytable tbl;
Returned:
mykey	Case number	First Name	Last name	DOB
1	1111111	Bob	ABC	8-2-1980
2	2222222	John	Doe	7-2-1980
3	3333333	Ayrton	Senna	1-2-1985
4	4444444	JustFirst	(null)	7-5-1995
Note that for each record, there must exist 4 entries on the table for each field "Case number", "First Name", "Last name" and "DOB. If any entry fails to exist, it will generate a "null" entry (like you can see in the "mykey=4" record which has "null" in the "Last name" field).
Just remove the "distinct mykey," if you don't want the "mykey" value to be returned.
Hope that helps.