Databases Reference
In-Depth Information
■
28.1■Produktgruppen in der Artikeltabelle
Es gibt in der Tabelle
iw_article
eine Spalte, die Sie noch nicht kennen gelernt haben: die
productGroup
. Da wir die Produktgruppe in die Warenkorbinformationen mit aufnehmen,
werfen wir einen kurzen Blick auf den Inhalt dieser Spalte. In der Spalte stehen Zahlen-
Codes. Leider fehlt uns hier eine Übersetzung. Also müssen wir herausinden, was die
Codes bedeuten. Das geht am einfachsten, indem wir zu jedem Code die Artikelbeschrei-
bung ausgeben. Da es mehrere Artikelbeschreibungen pro Code gibt, ist es sinnvoll, die
Beschreibung an die erste Stelle zu setzen. Um zu vermeiden, dass identische Beschreibun-
gen mehrfach ausgegeben werden, setzen wir ein
distinct
. Die
Order
by
-Klausel ordnet
das Ergebnis, sodass identische Produktgruppen-Codes direkt hintereinander ausgegeben
werden.
SELECT distinct [description], [productGroup]
FROM [dbo].[iw_article]
order by productGroup
Schauen Sie sich das Ergebnis genauer an, und scrollen Sie im Ergebnisfenster die Liste
weiter herunter. Sie werden feststellen, dass Codes enthalten sind, die ganz klar eine Pro-
duktgruppe, wie beispielsweise
Pullover
oder
T-Shirts
, beschreiben. Manche Produktgrup-
pen haben auch mehrere Codes. Schauen wir uns die
Pullover
genauer an.
28.1.1■Die Vergleichsoperation LIKE/NOT LIKE
Um nach bestimmten Begrifen innerhalb einer Spalte zu suchen, können wir die Ver-
gleichsoperation
LIKE
nutzen.
LIKE
prüt, ob eine bestimmte Zeichenfolge mit einem
bestimmten Muster übereinstimmt. Ein Muster kann normale Zeichen und Platzhalterzei-
chen einschließen. Bei einem Mustervergleich müssen normale Zeichen exakt mit den
angegebenen Zeichen in der Zeichenfolge übereinstimmen.
LIKE
funktioniert nur bei Zei-
chenfolgen-Datentypen (char, varchar). Es gibt Datenbanksysteme, bei denen die Inhalte
einer Spalte bei der Benutzung von
LIKE
automatisch konvertiert werden. Die gesuchten
Begrife oder Zeichen müssen in Hochkommas gesetzt werden.
SELECT <Spalten_Name_1>, <Spalten_Name_2>,<Spalten_Name_3>
FROM <Tabellen_Name>
WHERE <Spalten_Name_3> like 'XYZ'
Im Folgenden werden die Ergebnisse angezeigt, bei denen in der dritten Spalte exakt der
Eintrag XYZ enthalten ist. Die Operation
NOT
LIKE
funktioniert genau andersherum.
SELECT <Spalten_Name_1>, <Spalten_Name_2>,<Spalten_Name_3>
FROM <Tabellen_Name>
WHERE <Spalten_Name_3> not like 'XYZ'
Nun werden die Ergebnisse angezeigt, bei denen in der dritten Spalte kein Eintrag XYZ
vorhanden ist.