SQL Hilfe bei erstellen von Query

forsti222

Mitglied
Ich habe ein großes Problem mit dem erstellen von einem Query :( bitte um Mithilfe:
Erstellen Sie eine View "LV A-Summen", die pro LV A (LV ANR, LV A-Name, Typ, Std) die Summe der Stunden und die Anzahl der Termine ausgibt. Beru?cksichtigen Sie dabei, dass in der Tabelle "Abhaltung" pro Termin mehrere Datensa?tze fu?r eine LVA enthalten sind, wenn diese von mehreren Vortragenden abgehalten wird. Minuten ko?nnen jeweils als Dezimalstellen von Stunden ausgegeben werden. Auch weitere Views fu?r Zwischenergebnisse sind erlaubt.
Lva{lvanr,name,std,typ}
Abhaltung{lvanr,persnr,von_stunde,von_minute,bis_minute,bis_stunde,tag}
Leider verstehe ich das meiste nicht ganz logisch:
ein ist mal klar für mich der Anfang ist:
Code:
Create view lva_summen as
dann folgt natürlich ein Select:
Code:
Select a.lvanr,l.name,Sum(l.std),l.typ FROM lva l, abhaltung a GROUP by count(a.persNr)
// Hier die Anzahl der Termine

Leider kommt da natürlich ein kompletter Blödsinn raus. Könnte ihr mir vielleicht logisch weiterhelfen und den Tipp geben wie ich aufpasse ob es 2mal abgehalten wird oder nicht?

danke
 
Zuletzt bearbeitet:
Kannst du mal dein Zeugs in SQL-Tags setzen und formatieren? Dieses Mischmasch von Code und Text erzeugt bei mit Hirnkrebs.
 
Ist leider unmöglich dir da zu helfen ohne zu wissen wie die Datenstruktur darunter ist.

Tabellen, Spalten, Zusammenhäge der Daten.

Einfach mal geschätzt aufgrund der Aufgabenstellung.
Es wird sicher nicht stimmen
SQL:
SELECT
	a.lvanr,
	l.name,
	SUM(l.std) AS sum_stunden,
	COUNT(l.std) AS count_stunden,
	l.typ 
FROM
	lva AS l
	LEFT JOIN abhaltung  AS a
		# Hier die richtigen Felder verbinden
		ON l.nr = a.lvanr
GROUP BY
	#Hier alle Felder auf die Gruppiert werden soll
	a.lvanr,
	l.name,
	l.typ
 
Zuletzt bearbeitet von einem Moderator:
Im Anhang befindet sich die Datenstruktur.

Habe eh noch ein weiteres problem.
V ergleichen Sie die 3 Fakulta?ten der JKU in Hinblick auf deren L V A-Durchschnittswerte, indem sie annehmen, dass die LVA-Nummern der JUS-Veranstaltungen mit 1, die der SOWI mit 2 und die der TNF mit 3 beginnen. D.h.: Erstellen Sie eine Liste (Erste Stelle der LVA-Nr, durchschnittliche Anzahl der Termine, durchschnittliche Anzahl der abgehaltenen Stunden, absteigend sortiert nach durchschnittliche Anzahl der abgehaltenen Stunden) fu?r jene Lehrveranstaltungen, deren LVA-Nummer mit 1, 2 oder 3 beginnt.
Mein Vorschlag kann ich einzeln machen, aber nicht für alle zusammen, da ja soweit ich weiß bei sql(näher isql+ von oracle) keine Schleifen möglich sind oder?
Code:
Select 1 as Fakultät, AVG(anzahl_termine),AVG(SUM_STUNDEN) FROM lva_summen_forstner where lvanr like '1%';
Select 2 as Fakultät, AVG(anzahl_termine),AVG(SUM_STUNDEN) FROM lva_summen_forstner where lvanr like '2%';
Select 3 as Fakultät, AVG(anzahl_termine),AVG(SUM_STUNDEN) FROM lva_summen_forstner where lvanr like '3%';
Vl hat auch jemend für diese Aufgabe einen ansatz
 

Anhänge

Zurück