MySQL: Komplizierte Abfrage...

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
badera
Beiträge: 643
Registriert: 20.05.2004 20:01:50
Wohnort: Schweiz

MySQL: Komplizierte Abfrage...

Beitrag von badera » 08.05.2010 13:55:23

Kann mir jemand helfen? Ich sollte aus einer einzigen Tabelle eine etwas komplexe Abfrage erstellen können und ich weiss nicht, ob das möglich ist.

Ich habe eine Tabelle "Artikel" mit zwei Spalten (Artikelbezeichnung und Status):

Code: Alles auswählen

	
Artikel    Status
P01-001     1
P01-002     1
P01-003     1
P01-004     2
P01-005     3
P01-006     1
P02-001     2
P02-002     2
P02-003     3
P02-004     4
P02-005     4
P02-006     3
P02-007     0
Als Ausgabe der Abfrage möchte ich folgendes erhalten:

Code: Alles auswählen

Buch   Status0 Status1 Status2 Status3 Status4
P01     0       4       1       1       0
P02     1       0       2       2       2
Das heisst jeder Artikel ist Bestandteil eines Buches (Regel: die vordersten 3 Zeichen der Artikelbezeichnung ist die Buchbezeichnung). Jeder Artikel kann einen Status haben (0-4). Nun möchte ich mit einer Abfrage zählen lassen, wie viele Artikel pro Buch welchen Status haben. Geht das?
Vielen Dank schon im Voraus für Eure Hilfe!
- Adrian

tex
Beiträge: 411
Registriert: 03.12.2005 00:32:40
Lizenz eigener Beiträge: GNU Free Documentation License
Kontaktdaten:

Re: MySQL: Komplizierte Abfrage...

Beitrag von tex » 08.05.2010 14:05:48

Stichworte: Substring und Selfjoin, damit gehts.

Ich bin jetzt zu faul die ganze Query zusammenzubauen, aber sollte funktionieren. Wird zwar hässlich, aber was soll es ;)

Benutzeravatar
badera
Beiträge: 643
Registriert: 20.05.2004 20:01:50
Wohnort: Schweiz

Re: MySQL: Komplizierte Abfrage...

Beitrag von badera » 08.05.2010 14:12:41

Danke tex, für die schnelle Antwort. Irgendwie komme ich trotzdem nicht ganz zurecht. Wenn Du vielleicht heute noch eine Minute Zeit hast, den hässlichen Query zu zeigen, wäre ich Dir ausserordentlich dankbar!

Benutzeravatar
shoening
Beiträge: 914
Registriert: 28.01.2005 21:05:59
Lizenz eigener Beiträge: MIT Lizenz

Re: MySQL: Komplizierte Abfrage...

Beitrag von shoening » 08.05.2010 17:00:17

Hi,

auch wenn ich aus dem Beispiel nocht nicht so ganz sehe, was Du eigentlich willst,
denke ich das das Stichwort PIVOT lautet - in kombination mit dem genannten substr.

Ciao
Stefan
Bürokratie kann man nur durch ihre Anwendung bekämpfen.

Antworten