SQL Frage!

Seite 1 von 1 - Forum: Coding Stuff auf overclockers.at

URL: https://www.overclockers.at/coding-stuff/sql_frage_18540/page_1 - zur Vollversion wechseln!


Nevermind schrieb am 24.11.2001 um 14:12

Kann mir wer diese Hausübung lösen? Bin ne Lusche in SQL...

Außerdem hat der Lehrer nix erklärt deshalb weiß ich nicht ob wir Pseudodaten eingeben sollen oder nicht?!

Falls sich wer auskennt wär ich dankbar für Hilfe!

Beispiel 1:

PRODUKT( pname , typ, hersteller, lizenzkosten)
LIZENZ ( rname, pname, datum)
VERWENDUNG ( pname, rname, datum )

1.1. Erstelle ein SQL: Namen aller Rechner auf denen nach dem 30.9.95 keine Lizenz mehr ausgestellt wurde.

1.2. Erstelle ein SQL: Namen und Hersteller aller Produkte, welche auf weniger als 10 Rechner verwendet worden sind (also auch auf keinem Rechner).


Beispiel 2:

KURS ( knr , bezeichnung, teilnehmer , beginn, ende)
SCHUELER ( svnr , name, adresse)
ANMELDUNG ( knr, svnr, datum)

2.1. Erstelle ein SQL: Welcher Schüler hat als erster einen Kurs belegt.

2.2. Erstelle ein SQL: Alle Kurse von 92 bis 94 bei denen die maximale Teilnehmeranzahl bei der Anmeldung überschritten wurde.


Nevermind schrieb am 24.11.2001 um 20:37

weiß den niemand was? :confused: :(


Bimminger schrieb am 24.11.2001 um 23:08

1.1)

SELECT rname FROM lizenz WHERE datum IS NULL OR datum < '30.9.95'

-> das Datumsformat variiert je nach SQL-Dialekt. Bei einigen (zB Oracle) is eine Konvertierung des Strings in ein Datum erforderlich.

-> On das mit IS NULL abgefragt werdn muss hängt vom Datenmodell ab - eh klar


1.2.)

SELECT pname, hersteller FROM produkt WHERE pname IN (SELECT pname FROM verwendung WHERE (SELECT COUNT(pname) AS counter FROM verwendung WHERE counter<10)))

-> sollte gehn. ght aber a sicher einfacher
-> COUNT is zB in Oracle und MS-SQL. Is denk ich nicht in der ISO-Spezifikation

2.1)

SELECT * FROM schueler WHERE svnr=(SELECT svnr FROM anmeldung WHERE datum=MIN(datum))

-> MIN is zB in Oracle. Is denk ich nicht in der ISO-Spezifikation

2.2) SELECT * FROM kurs mykurs where teilnehmer<(SELECT COUNT(*) FROM anmeldung WHERE knr=mykurs.knr and datum>1.1.92 and datum<31.12.94)

-> angaben zum datum wie bei 1.
-> angaben zu count(*) wie bei 1.

ALLE ANGABEN OHNE GEWÄHR!! unbedingt zuerst mit testdaten ausprobiern. hab auch schon seit ca 2 jahren nimma "hardcore" sqlstrings ghabt.

mfG CB


Nevermind schrieb am 25.11.2001 um 11:08

thx, werds gleich mal testen
muss es aber in access machen :(

aber naja wird schon klappen


EDIT: naja funzen tuts nicht wirklich, habs auf meine datenbank bissi abgeändert kommen aber nur die ärgsten Fehlermeldungen


Bimminger schrieb am 25.11.2001 um 12:53

in access musst datum denk ich als

#20011125#

notiern oder so. mehr dazu in der access hilfe. der rest sollt eigentlich werken. count geht in acccess sicher, beim min bin i ma net sicher sollt aber a gehn.

mfG CB


Nevermind schrieb am 25.11.2001 um 13:03

werd mich noch bissi rumspielen, aber naja irgendwie krieg ichs hin


manalishi schrieb am 25.11.2001 um 13:35

argh... hab bimmingers posting übersehen ;-)


Bimminger schrieb am 25.11.2001 um 14:40

wh du hast mein posting übersehn? hmm check i net. hast ja vorher gar nix andres geposted...

mfG CB




overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2025