I am populating a DataTable like this
static DataTable GetTable()
{
    DataTable table = new DataTable();
    table.Columns.Add("name", typeof(string));
    table.Columns.Add("exam1date", typeof(date));
    table.Columns.Add("exam1complete", typeof(date));
    table.Columns.Add("exam2date", typeof(date));
    table.Columns.Add("exam2complete", typeof(date));
    table.Columns.Add("exam3date", typeof(date));
    table.Columns.Add("exam3complete", typeof(date));
    table.Rows.Add("joe", "2018-01-30", NULL, NULL, NULL, NULL, NULL);
    table.Rows.Add('james', '2018-02-14', '2018-02-21', '2018-03-02', NULL, NULL, NULL);
    table.Rows.Add('javier', '2018-01-01', '2018-01-14', '2018-03-01', '2018-03-12', '2018-04-01', NULL);
    return table;
}
static void Main()
{
    DataTable dtInfo = GetTable();
}
How can I run this SQL statement against the DataTable to get the data from the datatable in a format I can use?
SELECT fname,  
    CASE 
    WHEN exam1complete IS NULL THEN 'exam1date'
    WHEN exam2complete IS NULL THEN 'exam2date '
    ELSE 'exam3date' END AS columnname,
    CASE
    WHEN exam1complete IS NULL then exam1date 
    WHEN exam2complete IS NULL then exam2date 
    ELSE exam3date END AS examdate
FROM dtInfo;
 
     
    