I have a (rather dirty) datasource (excel) that looks like this:
ID | Name | Subject | Grade
123 | Smith, Joe R. | MATH | 2.0
123 | Smith, Joe Rodriguez | FRENCH | 3.0
234 | Doe, Mary Jane D.| BIOLOGY | 2.5
234 | Doe, Mary Jane Dawson| CHEMISTRY | 2.5
234 | Doe, Mary Jane | FRENCH | 3.5
My application’s output should look like this:
Smith, Joe R.
123
MATH | 2.0
FRENCH | 3.0
So basically I want to do query (just for the ID/Person parent ‘container’) something like:
SELECT DISTINCT ID, Name FROM MyTable<br/>
or
SELECT ID, Name FROM MyTable GROUP BY ID
Of course both of the above are invalid and won’t work.
I would like to ‘combine’ the same ID’s and ignore/truncate the other records with the same ID/different Name (because we all know they’re the same person since ID is our identifier and clearly it’s just a typo/dirty data).
Can this be done by a single SELECT query?
If you don’t really care which value shows up in the name field, use
MAX()orMIN():Here’s a working example to play with: https://data.stackexchange.com/stackoverflow/q/116699/