Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

MySQL - Abfrage benötigt

Empfohlene Antworten

Veröffentlicht

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.

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

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.

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

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.

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.