SQLIte: 2 Tabellen, in zweiter Tabelle zählen

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von ErfinderDesRades.

    SQLIte: 2 Tabellen, in zweiter Tabelle zählen

    Hallo

    irgendwie krieg ich das nicht hin:
    Ich habe 2 Tabellen, die zweite ist als Link-Tabelle zu einer dritten aufgebaut.

    In der ersten Tabelle Sets habe ich

    Quellcode

    1. ID
    2. ListTitle
    3. Plot


    In der zweiten Tabelle MoviesSets habe ich

    Quellcode

    1. MovieID
    2. SetID



    Ich möchte nun gerne eine Abfrage nach allen Einträgen der Tabelle Sets mit Angabe über Anzahl Einträge in MoviesSets als zusätzliches Feld Count.

    Das Ergebnis sollte dann so aussehen:

    Quellcode

    1. ID | ListTitle | Plot | Count
    2. 32 | Die Hard Collection | Es war einmal | 5
    3. 33 | Avatar Collection | Es wird einmal sein | 2
    4. 34 | Leere Collection | Collection ist leer | 0



    In Access würde es so aussehen :D aber ich krieg das in SQLite irgendwie nicht hin:

    SQL-Abfrage

    1. SELECT DISTINCTROW Sets.ID, Sets.ListTitel, Count(MoviesSets.MovieID) AS [Count]
    2. FROM Sets LEFT JOIN MoviesSets ON Sets.[ID] = MoviesSets.[SetID]
    3. GROUP BY Sets.ID, Sets.ListTitel;
    Ahoi,

    ich würde ja fast sagen, deine Abfrage ist richtig. Dein

    DanCooper schrieb:

    aber ich krieg das in SQLite irgendwie nicht hin:

    weist, denke ich mal, auf Syntaxfehler hin, oder ? ... bekommst du eine Fehlerausgabe oder nur das falsche Ergebnis ?

    Prinzipiell wäre es wohl empfehlenswert dir mal ein Tut über Joins bei SqlLite anzuschauen. Vielleicht kommst du dann auch darauf, dass die Joins da andere Namen haben.
    Grüße Manu

    Was Gott dem Menschen erspart hat, kann der Computer.
    Billy ©, (*1932), Schweizer Aphoristiker
    Quelle: www.Aphorismen.de
    Ja klar gibt es einen Fehler. Die Syntax habe ich wie gesagt in Access erstellt, da es dort recht einfach ist zum richtigen Ergebnis zu kommen. Ich dachte mir, dass ich daraus die richtige Syntax für SQLite herleiten kann.

    LEFT JOIN verstehe ich. Mein Problem ist dass ich nirgens was gefunden habe, wie man die zusätzliche Spalte "Count" neu erstellen und füllen kann. Weiss da jemand was?

    EDIT:
    Ich habs jetzt glaube ich hingekriegt:

    SQL-Abfrage

    1. SELECT Sets.ID, Sets.ListTitle, COUNT(MoviesSets.MovieID) AS 'Count' FROM Sets LEFT OUTER JOIN MoviesSets ON Sets.ID = MoviesSets.SetID GROUP BY Sets.ID ORDER BY Sets.ListTitle;

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „DanCooper“ ()