Skip to content
xenforo

SQL Anweisungen

Content

irgendwie habe ich Probleme die SQL Anweisungen zu verstehen.
Laut Musterlösung (EA1 SS 08) ist die nachfolgende Anweisung falsch:

Auszugeben sind alle Einlagerungsvorgänge mit Datum, Artikelnummer und Artikelbezeichnung, die der Mitarbeiter „Meier“ in das Lager „Elektro-Werkstatt“ durchgeführt hat.

SELECT Einlagerung.Einlagerungsdatum, Einlagerung.ArtikelNr, Artikel.ArtikelBez
FROM Person, Artikel, Lager
WHERE Artikel.ArtikelNr = Einlagerung.ArtikelNr
AND Lager.LagerNr = Einlagerung.LagerNr
AND Person.PersonalNr = Einlagerung.PersonalNr
AND Person.MitarbeiterName = 'Meier'
AND Lager.LagerBez = 'Elektro-Werkstatt';

Meiner Meinung nach ist die Anweisung falsch, da in "FROM" nicht auf die richtige Tabelle verwiesen wird. Liege ich mit meiner Vermutung richtig? Wie geht ihr bei der Überprüfung der SQL Anweisungen vor?

Comments

Die Musterlösung meint falsch und du meinst falsch, wo ist das Problem :confused:

Klingt für mich eher nach aufkommender Klausurpanik

Ich wollte eigentlich nur wissen ob meine Begründung richtig ist und wie man am besten bei der Überprüfung vorgehen kann. Ich weiß, in den Klausuren wird nicht nach der Begründung gefragt, aber ich muss die Anweisungen ja trotzdem verstehen um entscheiden zu können.

Deine Begründung war gar nicht so schlecht.
Die Select-Anweisung bezieht sich auf die Spaltennamen der Tabellen und die From-Anweisung auf die Tabellennamen. Der Spaltenname muss in mindestens einer der Tabellen existent sein. Ist er in mehr als einer Tabelle existent muss er zur Unterscheidung mit seinem Tabellennamen angegeben sein.

Die grundsätzliche Parameterfolge einer Select-Anweisung ist:

Liste der Spaltennamen, Liste der Tabellennamen, Bedingungen, Sortierkriterien

[url="#?t=26947#post206357"][U]Hier[/U][/URL] gibt's vielleicht Hilfe für dich :).

Ritschi,

vielen Dank für deine Hilfe. Wenn ich dich richtig verstanden habe dann hätte in der "From Anweisung" also noch die Tabelle "Einlagerung" angegeben sein müssen, damit die Anweisung richtig ist.

Lexi81 wrote:

Hallo Ritschi,

vielen Dank für deine Hilfe. Wenn ich dich richtig verstanden habe dann hätte in der "From Anweisung" also noch die Tabelle "Einlagerung" angegeben sein müssen, damit die Anweisung richtig ist.

Das ist richtig