Hej, Borde finnas nåt bättre sätt än detta kan tyckas (särskilt som denna lär kunna ge dubletter om det för ett ID kan finnas flera med samma bokstavskombination)Svår sql sats för att filtrera värden utifrån ASCII och status
jag har en tabell som ser ut enligt nedan:
Kolumnnamn:
ID | Namn | Bokstav | Status
Värdena är följande:
1 | Kalle | A | Godkänd
1 | Anders | B | Godkänd
1 | Johan | C | Ej Godkänd
2 | Erik | N | Godkänd
2 | Kajsa | O | Godkänd
3 | Peter | A | Godkänd
3 | Per | AA | Godkänd
Jag vill skriva en sql-sats som fångar följande:
1 | Anders | B | Godkänd
2 | Kajsa | O | Godkänd
3 | Per | AA | Godkänd
För att sammanfatta mitt behov. Jag vill hämta den person för varje id-nr som har den högsta bokstaven och är godkänd. Bokstäverna går mellan A-Z sedan påbörjas AA, AB, AC upptil AZ, BA, BB, BC.. CA osv. .... för att sedan avslutas med ZY, ZX, ZZ..
AZ är ju lägre än ZA ex.
Någon som har en ide för att lösa problemet i en enda sql-sats?Sv: Svår sql sats för att filtrera värden utifrån ASCII och status
SELECT namn, bokstav
FROM tabellen t INNER JOIN (SELECT max(bokstav) AS bok, id
FROM tabellen WHERE godkänd = true GROUP BY id) s ON t.id = s.id AND t.bokstav = s.bok