Zum Inhalt springen

MySQL - Abfrage benötigt


Fraunz81

Empfohlene Beiträge

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...