Fraunz81 Geschrieben 15. November 2004 Teilen Geschrieben 15. November 2004 Hallo! Ich benötige eine Abfrage für meine Datenbank, dabei möchte ich 3 Tabellen verknüpfen (join). In der ersten Tabelle habe ich eine forlaufenden ID-Nummer (auto_increment). In den anderen 2 Tabellen kommen diese IDs öfters vor. Jetzt brauche ich eine Abfrage in der ich von den beiden Tabellen jeweils die Anzahl der vorkommenden IDs addiert. Zur Zeit mach ich das mit 2 Abfragen, kann man das auf eine zusammen legen? So mach ich es zur Zeit: Select b.hauptdarstellerid, count(b.hauptdarstellerid) from filmtable a, schauspieler b where a.id = b.hauptdarstellerid group by b.hauptdarstellerid order by a.besitzerid, a.videoformatid, a.filmbezeichnung, b.hauptdarsteller; Select b.audiospurenid, count(b.audiospurenid) from filmtable a, audiotable b where a.id = b.audiospurenid group by b.audiospurenid order by a.besitzerid, a.videoformatid, a.filmbezeichnung, b.audiospuren; Bei mir zählt er das sonst zusammen und das kann ich nicht brauchen. Wenn das nicht gehen sollte, ist es auch ok, aber meine 2. Frage ist mir sehr wichtig. 2. Frage: Dann hätte ich eine Spezialabfrage benötigt. In meiner Datenbank können mehrere Besitzer eingetragen werden. Ich möchte eine Abfrage zusammenbasteln mit der es möglich ist 2 besitzerids zusammen zu nehmen und nach videoformatid und filmbezeichnung sortieren zu lassen. Weitere besitzerids sollen getrennt nach videoformatid und filmbezeichnung sortiert werden. Weis jemand ob das möglich ist? Wenn ja, vielleicht mit einem Beispiel. Meine Tabelle heißt: filmtable Beinhaltet diese Felder: id, filmbezeichnung, filmlaenge, videoformatid, filmart, besitzerid, medienanzahl, kurztext Danke schon mal in voraus. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Goos Geschrieben 15. November 2004 Teilen Geschrieben 15. November 2004 2. Frage: Dann hätte ich eine Spezialabfrage benötigt. In meiner Datenbank können mehrere Besitzer eingetragen werden. Ich möchte eine Abfrage zusammenbasteln mit der es möglich ist 2 besitzerids zusammen zu nehmen und nach videoformatid und filmbezeichnung sortieren zu lassen. Weitere besitzerids sollen getrennt nach videoformatid und filmbezeichnung sortiert werden. Ich hab in dem Fall nicht kapiert, was du willst. Was bedeutet zusammennehmen? ... usw. Versuchs bitte nochmal etwas zu verdeutlichen. Ist nicht immer ganz einfach, aber wir wissen schliesslich nicht, was du genau machen willst. Goos Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Fraunz81 Geschrieben 15. November 2004 Autor Teilen Geschrieben 15. November 2004 Wenn ich eine Abfrage formuliere, kann ich nur so abfragen das zuerst besitzerid = 1 und nach videoformatid und filmbezeichnung sortiert wird. Dann besitzerid = 2. Dann besitzerid = 3 usw. Ich möchte aber sagen das z. B.: besitzerid 1 und 2 egal sind und nur nach videoformatid und filmbezeichnung sortiert wird und dann erst die besitzerid 3 aufgelistet wird. bsp.: filmbezeichnung videoformatid besitzerid film1 2 1 film2 2 2 film3 2 1 film4 2 1 film5 2 1 film6 2 2 film7 3 1 film8 3 2 film9 3 1 film10 3 1 film11 3 1 film12 3 2 film13 3 3 film14 3 3 film15 3 3 film16 3 4 film17 3 4 film18 3 4 Ich weis, dass meine Erklärungen meisten nicht ganz verständlich sind, sorry dafür. Ich hoffe das es jetzt verständlicher ist. Wenns noch nicht verständlich genug war, bitte schreiben. Sonst hoffe ich das ihr eine Antwort für mich habt. Danke schon mal. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Goos Geschrieben 15. November 2004 Teilen Geschrieben 15. November 2004 Sortierungen sind meiner Meinung nach fuer ein Resultset eindeutig, daran kann nichtmal UNION was aendern. Das heisst, du brauchst zwei Abfragen mit unterschiedlichen Sortierungskriterien, welche sich dann halt auch auf zwei Teilmengen beziehen ( einmal besitzerid < 3 und einmal den Rest). Bei deiner ersten Frage ists aehnlich. Wenn du nur eine Abfrage aus deinen zweien machen willst, dann arbeitest du zwangsweise mit einer Schnittmenge der beiden Einzelergebnisse. Das scheint mir aber so nicht gewuenscht zu sein. Deshalb musst wohl auch da bei zwei Abfragen bleiben. Goos Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Fraunz81 Geschrieben 15. November 2004 Autor Teilen Geschrieben 15. November 2004 Schade das es nicht in einer Abfrage funktioniert. Wenn du mit Schnittmenge das addieren der Einzelergebnisse meinst, dann hast du recht, dass ist nicht erwünscht. Ich muss nämlich wissen wie viele Audiospuren/ Schauspieler je Film in der Datenbank eingetragen sind um dann dynamisch Speicher dafür reservieren zu können. Trotzdem, DANKE für die schnelle Antwort. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.