Die aktuelle lineare Jahresabschreibung je Fahrrad soll berechnet und ausgegeben werden.
Es gilt eine maximale Nutzungsdauer von 5 Jahren. Im letzten Jahr der Nutzung soll ein um 1 Euro geringerer Abschreibungsbetrag als der "normale" Abschreibungsbetrag berechnet werden. Im Jahr der Anschaffung wird 1/5 des Anschaffungswertes voll abgeschrieben.
- Erstellen Sie in MySQL eine entsprechende Funktion zur Berechnung der aktuellen linearen Jahresabschreibung.
- Verwenden Sie diese Funktion anschließend in einer Abfrag, die für jedes Fahrrad die aktuelle Jahresabschreibung berechnet.
- Erstellen Sie auf der Grundlage der erzeugten Abfrage einen View.
- Erstellen Sie eine angemessene grafische Darstellung.
Ich brauche Hilfe bei einer Schulaufgabe in MySQL
-
-
Dein Versuch sieht wie aus?
-
Es hängt beim erstellen einer Funktion
-
-
- Offizieller Beitrag
Es hängt beim erstellen einer Funktion
Etwas genauer wäre toll, um Dir helfen zu können. -
CREATE FUNCTION `ein_Euro` (panschaffungswert int,pkaufdatum int) RETURNS INT
BEGIN
if YEAR(now())-YEAR(kaufdatum) > 10 then
RETURN 1;
else
RETURN FORMAT(anschaffungswert/10,2);
end if;
END
;Ich finde meinen Fehler in der Syntax nicht
-
- Offizieller Beitrag
Na ein offensichtlicher Fehler ist wohl, dass Du einen Rückgabewert vom Typ INT definierst, im ELSE-Block aber grundsätzlich ein String geliefert wird.
Wo testest Du die Query? Du müsstest auf Fehler hingewiesen werden. Weiterhin solltest Du Dich mit den Funktionen vertraut machen, die Du verwendest. -
Dass hab ich aber so gelernt und schon öfter so gemacht und da hat es immer getan,
Ich arbeite mit wysql und als Fehlermeldung wird mir nur ein Fehler in der Syntax angezeigt. -
- Offizieller Beitrag
Wenn man etwas falsch lernt und es eine Weile gut geht, macht es das leider nicht richtig.
Wenn die Bedingung wahr ist gibst Du ja auch ein INT zurück, in dem Fall wird es auch klappen. Nur eben nicht, wenn die Bedingung nicht wahr ist. Daran kann man nichts rütteln.
Ein Rückgabewert vom Datentyp INT muss nun mal ein Wert vom Datentyp INT sein. -
okey ich habe es jetzt geschafft mit etwas hin und her probieren :-D#
DANKE! -
- Offizieller Beitrag
Zeigst Du die Lösung auch, bitte?
Ein Suchender könnte verzweifelt über diesen Thread stolpern und Deine Lösung evtl. brauchen können.Danke
-
Hast du deine Hausaufgabe schon fertig?
-
Hast du deine Hausaufgabe schon fertig?
Ähmmmm, das Thema wurde am 02.01.2018 als erledigt beschrieben!!!