Umbenennung in SQL-Aufgaben wird nicht erkannt
Dies ist ein altbekanntes Problem, das auch das alte Subato bereits hatte. Ich erfasse es mal hier, auf die Gefahr hin dass es ein Duplikat ist.
Beispiel ist diese Übung aus dem aktuellen Datenbanken-Kurs (Praktikum 7, "4. Drachen Gruppierung"): https://subato.cs.hs-rm.de/exercises/450/tasks/369
Es geht um Teilaufgabe "auf4". Eigentlich hat sie diese Lösung:
select Drachen.name as `nameDrachen`, Farm.name as `nameFarm` from
(select did, fid From Aufenthalt group by did, fid having count(*) > 2) Mehr
join Drachen on Mehr.did = Drachen.did
join Farm on Mehr.fid = Farm.fid
Subato erkennt nicht die Umbenennung und wertet die Spalte als "name" aus (und eliminiert die zweite Spalte "name" als Duplikat). Deshalb schlägt der Test fehl, weil das erwartete Ergebnis nicht kommt.
Wir müssen deshalb ein sinnloses SELECT um das Ergebnis setzen:
select nameDrachen, nameFarm from
(
select Drachen.name as `nameDrachen`, Farm.name as `nameFarm` from
(select did, fid From Aufenthalt group by did, fid having count(*) > 2) Mehr
join Drachen on Mehr.did = Drachen.did
join Farm on Mehr.fid = Farm.fid
) xxx;
Falls Subato Java-basiert ist: kann es das gleiche Problem wie https://stackoverflow.com/questions/12709814/column-aliasing-in-select-statements-doesnt-work-with-squirrel-sql-firebird sein?