Forum: SQL |
Thema:
Re: komplexe SQL-Anfrage |
Von:
Daniel Röber (
07.03.2005 17:10) |
Hallo Martin,
ich bin zwar nicht Tom, aber ich habe hier ein paar Antworten für Dich ...
1)Um der Datenbank genauer sagen zu können, von welchem Feld es die Daten nehmen soll, kann man vor den Spalten Namen noch den TabellenNamen plus einen Punkt setzten. Tabellen KOENNEN nicht den gleichen Namen haben in einer datenbank, Spalten schon (in verschiedenen Tabellen), damit wird gewährleistet, das die Datenbank wirklich genau weiss welches Feld gemaint ist(die spalte ist somit besser definiert).
2)Der Syntax für tab_minPreis ist ein ALIAS für die Tabelle die mit dem SubQuerry erzeugt wird. Tom gibt dieser Tabelle einfach einen anderen Namen.
3)Die 2.Select abfrage ist eine Unterabfrage (SubQuerry).
Da eine agregate Function benutzt wird (MIN in diesem Fall) verlierst Du den Original SpaltenNamen, deswegen hier wieder ein ALIAS! Auserdem befindest Du dich momentan in der Tabelle tab_minPreis (wie per alias definiert wird) und diese spalte ist im select wiederrum als min_Preis definiert (tab_minPreis.Preis as 'min_Preis')
Den Group By brauchst Du um Spalten, welche nicht in agregate functions beinhaltet sind, anzuzeigen, ansonsten gibts nene Error (*nich gut :P)
Die Unterstriche musst Du natürlich nicht nehmen, das sind wiederum ALIAS Namen und jeder Programmierer hat da wohl seine eigenen Methoden.
Hoffe das hat ein wenig geholfen.
TADA
DAN
Oh ... ich benutze Books Online, welche mit der SQL Enterprise Edition mitgeliefert sind ... hab noch nie was anderes gebraucht, deswegen auch leider keine referenz webseiten zur einführung da ...
FiNAL TADA
Antworten
Vorsicht bei der Eingabe: Die Zeichen ' oder -- sind nicht erlaubt!