SORRY

jogo
Windoof-User
Windoof-User
Beiträge: 40
Registriert: 14. Aug 2009 16:51

SORRY

Beitrag von jogo »

SORRY
Zuletzt geändert von jogo am 7. Sep 2009 00:37, insgesamt 1-mal geändert.

Benutzeravatar
Diablo
Sonntagsinformatiker
Sonntagsinformatiker
Beiträge: 210
Registriert: 6. Sep 2008 17:43
Wohnort: Kreis Offenbach

....

Beitrag von Diablo »

....
Zuletzt geändert von Diablo am 7. Sep 2009 08:16, insgesamt 6-mal geändert.

jogo
Windoof-User
Windoof-User
Beiträge: 40
Registriert: 14. Aug 2009 16:51

Re: Klausurabufgaben des letzten Jahres

Beitrag von jogo »

blöd
Zuletzt geändert von jogo am 7. Sep 2009 00:37, insgesamt 1-mal geändert.

fl0
Windoof-User
Windoof-User
Beiträge: 35
Registriert: 30. Aug 2009 13:34

Re: Klausurabufgaben des letzten Jahres

Beitrag von fl0 »

also zu b)

wäre es meiner meinung nach so

SELECT L.ID, COUNT(E.ISBN)
FROM Exemplar E, Leser L
WHERE E.Leser = L.ID
GROUP BY L.ID;


bei den anderen schau ich grade nochmal

Benutzeravatar
Diablo
Sonntagsinformatiker
Sonntagsinformatiker
Beiträge: 210
Registriert: 6. Sep 2008 17:43
Wohnort: Kreis Offenbach

................

Beitrag von Diablo »

.........
Zuletzt geändert von Diablo am 7. Sep 2009 08:13, insgesamt 2-mal geändert.

Benutzeravatar
^Lara^
Mausschubser
Mausschubser
Beiträge: 68
Registriert: 17. Jan 2005 12:57

Re: Klausurabufgaben des letzten Jahres

Beitrag von ^Lara^ »

also zu a) würde ich sagen:
Zuletzt geändert von ^Lara^ am 7. Sep 2009 08:13, insgesamt 2-mal geändert.

The One and Only Markus
Endlosschleifenbastler
Endlosschleifenbastler
Beiträge: 169
Registriert: 10. Nov 2005 19:28
Wohnort: Darmstadt

Re: Klausurabufgaben des letzten Jahres

Beitrag von The One and Only Markus »

Hast du denn noch eine andere Klausur als die die auf der Seite verlinkt ist? Falls ja wärs cool wenn du die hochladen könntest.

Zur Aufgabe, ich würde das so machen (weiß aber nicht ob's stimmt ^^):

a)
select vname, nname
form leser l, entleihung e
where l.alter < 35
and l.id = e.leser
and e.isbn='...';

P_vname, nname (O_isbn='...' ^ alter < 35 (leser X_leser=id entleihung))

{t^(2) | (El^(4)) (Ee^(3)) (leser(l) ^ entl.(e) ^ t[1] = l[2] ^ t[2] = l[3] ^ l[1] = e[3] ^ e[1] = '...' ^ l[4] < 35)}

b)
select l.id, count(e.isbn)
from leser l, entl. e
where l.id = e.leser
group by l.id;


PS: ich hoffe man versteht meinen ra syntax :D

jogo
Windoof-User
Windoof-User
Beiträge: 40
Registriert: 14. Aug 2009 16:51

Re: Klausurabufgaben des letzten Jahres

Beitrag von jogo »

und warum braucht man das GROUP BY ???

Osterlaus
BSc Spammer
BSc Spammer
Beiträge: 1263
Registriert: 23. Aug 2007 12:46
Wohnort: DA

Re: Klausurabufgaben des letzten Jahres

Beitrag von Osterlaus »

jogo hat geschrieben:und warum braucht man das GROUP BY ???
An sich ginge es auch ohne - so ists aber schöner: du erhältst, auch wenn ein Leser das Buch mehrmals ausgeliehen hat, nur eine Ergebniszeile pro Leser. Genau darauf gekommen wäre ich aber wohl nicht...

xAx
Endlosschleifenbastler
Endlosschleifenbastler
Beiträge: 157
Registriert: 6. Mär 2008 17:20

Re: Klausurabufgaben des letzten Jahres

Beitrag von xAx »

mehrfach wurde für die b folgendes genannt:
select l.id, count(e.isbn)
from leser l, entl. e
where l.id = e.leser
group by l.id;
sofern count doppelte vorkommen der isbn nicht auch doppelt zählt (bitte um aufklärung ;)) ist das falsch. begründung: man kann von einem buch mehrere exemplare ausleihen. da überhaupt nur nach der leser id gefragt ist, muss man nicht mal joinen und erhält eine viel kürzere query:

Code: Alles auswählen

SELECT E.Leser, count(*)
FROM Entleihung E
GROUP BY (E.Leser)
Je nach Semantik wahlweise noch mit WHERE E.Leser IS NOT NULL
Nichts ist wie es scheint!
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Zuletzt geändert von xAx am 14. Mär 2009 16:17, insgesamt 99-mal geändert.

andre_w
BASIC-Programmierer
BASIC-Programmierer
Beiträge: 125
Registriert: 14. Okt 2007 14:59
Wohnort: Kriftel
Kontaktdaten:

Re: Klausurabufgaben des letzten Jahres

Beitrag von andre_w »

xAx hat geschrieben: sofern count doppelte vorkommen der isbn nicht auch doppelt zählt (bitte um aufklärung ;)) ist das falsch. begründung: man kann von einem buch mehrere exemplare ausleihen.
habs mal ausprobiert, zumindest MySQL zählt mehrfach vorkommende Attribute auch mehrfach. Man kann sagen count(DISTINCT e.isbn), dann zählt er mehrfach vorkommende Attribute dann nur jeweils einmal.
let's be friends on twitter studivz facebook - my blog

Antworten

Zurück zu „Archiv“