• DB-Abfrage
  • DB-Abfrage

    Floyd > 16.02.2017, 05:09 AM

    Hallo  Big Grin 

    Ich möchte gerne ein Windows-Programm schreiben, mit dem ich die Datenbank bearbeiten kann.
    Bisher kann ich über die Alben die Titel zuordnen. Leider sehe ich keinen Weg, den Interpreten ein Album zuzuordnen.
    Die Spalte "ArtistID" in der Tabelle "Songs" hat leider keinen Zusammenhang mit anderen Tabellen. Angry
     
    Wie kann ich die DB so abfragen, das wenn ich auf einen Interpreten klicke, die entsprechenden Alben aufgelistet werden ?

    Vielen Dank schon mal im Voraus ...
  • RE: DB-Abfrage

    FjodorFFjodor > 16.02.2017, 08:20 AM

    Bei einem Projekt "(inoffizielle) Dokumentation der Datenbank" wäre ich dabei.
  • RE: DB-Abfrage

    FjodorFFjodor > 18.02.2017, 11:16 AM

    Wenn ich das richtig verstehe, gehen die Referenzen in der Datenbank über die ROWID (http://sqlite.org/lang_createtable.html#rowid).
    Also sowas wie SELECT Name FROM Artist WHERE ROWID=...

    Die Tabelle Album hat zwar eine Spalte AlbumArtist, aber zumindest in meiner DB steht da immer NULL drin.
    Wahrscheinlich geht die Funktion "Alben anzeigen" beim Interpret im Web UI vom Artist über die Songs zu den Alben, sowas wie SELECT DISTINCT AlbumID FROM Song WHERE ArtistID=...
  • RE: DB-Abfrage

    Floyd > 19.02.2017, 03:59 AM

    Du hast Recht. Da könnte ein (unsichtbarer) Zusammenhang bestehen.
    Ich werde das mal testen. Machen die Jungs von Cocktail das eigentlich absichtlich unübersichtlich? Rolleyes
    Naja - wenn auch über 2568 Ecken - irgendwie müssen die das ja auch abfragen.

    Bis dann ...
  • RE: DB-Abfrage

    FjodorFFjodor > 19.02.2017, 07:30 AM

    Ich finde die Datenbankstruktur bis jetzt gar nicht so unübersichtlich.
    Auf https://github.com/KGuetter/cocktailaudio-api habe ich mal meine bisherigen Erkenntnisse zusammengetragen.
  • RE: DB-Abfrage

    Administrator > 20.02.2017, 06:16 PM

    Das mit der Rowid ist eine Eigenheit von SQLite.
    Die Datensätze sind über die Rowid verknüpft.

    Die Abfrage sollte dann z.B. lauten:

    Select rowid, * from songs
    oder als join "Select s.rowid, s.* from songs s inner join album a where s.rowid = a.albumid
  • RE: DB-Abfrage

    Floyd > 21.02.2017, 01:26 AM

    Jau Danke !

    Habe das Brett von meinem Kopf abbekommen. Idea
    Vielen Dank.

    Bis dann ...
  • Entwicklung läuft

    Floyd > 24.02.2017, 07:43 PM

    Hi
    Langsam nimmt es Gestalt an. Big Grin
    Geplant sind Tag-Editor, Ripper, DB-Backup, Coverwechsel, Icon-Changer u.s.w..

    [Bild: cr.PNG]

    Bis dann ...
  • RE: DB-Abfrage

    Administrator > 27.02.2017, 05:51 PM

    Was möchtest du mit dem Projekt machen? Geht es nur um Datenpflege oder um mehr?
  • RE: Admin

    Floyd > 28.02.2017, 07:08 AM

    Hi Admin,

    ich werde es wohl für 5 Millionen verballern, damit mein Elend endlich ein Ende hat. Big Grin

    Kleiner Scherz !

    Keine Ahnung.
    Ich werde es wohl der Allgemeinheit zur Verfügung stellen.

    Falls Du ne bessere Idee hast - nur raus damit.

    In erster Linie mache ich das aber nur aus Spass an der Sache.


    Schöne Grüße ...