Mailinglisten-Archive |
Hallo MySQL-Liste! Ich stehe erneut vor einem für mich unlösbaren Problem und bitte um eure Hilfe. Ich möchte für unsere Band in PHP einen Shop programmieren, in dem ich unsere CDs verkaufe. Jede CD hat eine eindeutige ProduktID. Für jeden Titel einer CD soll der Name sowie die Länge aus einer Tabelle 'Werk' ermittelt und ausgegeben werden. TABLE Werk WerkID bigint(21) NOT NULL auto_increment, Titel varchar(255), Dauer time, [..] Bei der Auflistung der Titel sollen des Weiteren alle möglichen verfügbaren Infos zu den Titeln verlinkt werden. Dazu habe ich die Hilfstabelle Verweis angelegt in der zu jedem Titel einer CD ein Datensatz existiert. TABLE Verweis ProduktID bigint(21) NOT NULL, WerkID bigint(21) NOT NULL, TextID bigint(21) NOT NULL, Mp3ID bigint(21) NOT NULL, VideoID bigint(21) NOT NULL, Prio bigint(21) NOT NULL Wenn z.B ein Text zu einem Titel existiert, so wird die Datensatz- nummer des Textes (in seiner Tabelle 'Text') von mir in das Feld TextID der 'Verweis'-Tabelle geschrieben. TABLE Text TextID bigint(21) NOT NULL auto_increment, Aktiv enum('Y','N') default 'Y', [..] Im Ergebnisdatensatz soll der Wert von TextID allerdings nur vorkommen, wenn er in der Tabelle 'Text' auch aktiviert ist, also Text.Aktiv = 'Y' ist. Nach dem selben Prinzip soll dies mit 'Mp3' und 'Video' geschehen. Die Reihenfolge der Titel auf der CD soll per ORDER BY über das Feld Prio festgelegt werden. Sicherlich könnte ich viele einzelne Abfragen starten, gerne hätte ich in PHP aber alles in einem Ergebnisdatensatz. Ist es überhaupt möglich diese Anfrage in einer einzigen SQL- Anweisung zu formulieren? Um eine Lösung wär ich euch sehr verbunden. Gruß wojna --- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql
php::bar PHP Wiki - Listenarchive