MS-SQL Tabelle lädt nicht ganz!

  • VB.NET
  • .NET 4.0

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

    MS-SQL Tabelle lädt nicht ganz!

    Moin! :)
    Ich habe ein seltsames SQL-Problem.
    Wenn ich nun Inhalt in die tblDruckerauftragLogs einfüge, wird dieser Inhalt in die Tabelle eingefügt.
    Aber das Auslesen, macht jetzt irgendetwas, was es nicht soll.
    Ich hoffe mir kann jemand erklären, was ich falsch gemacht habe und wie es richtig geht.
    Die Tabelle hat jetzt z.b 3 Einträge.
    Die ich gerne auslesen möchte.
    Ich habe nirgends eine WHERE-Klausel drin.
    Außerdem habe ich verschiedene JOIN-Befehle ausprobiert.
    Mit meinen SQL-Code liest er nur, den ersten Datensatz aus! Warum? ?(
    BIG THX

    SQL-Abfrage

    1. SELECT * FROM tblDruckerauftragLogs
    2. GO
    3. SELECT (Vorname + ' ' + Nachname) AS 'Volständiger Name',
    4. Benutzername AS 'Benutzername',
    5. FORMAT(Guthaben, 'C') AS 'Guthaben',
    6. letzeAufladung AS 'letze Aufladung',
    7. letzerLoginDatum AS 'letzer Login'
    8. FROM tblAnmeldedaten
    9. JOIN tblBenutzer
    10. on tblAnmeldedaten.ID= tblBenutzer.ID
    11. JOIN tblGuthaben
    12. on tblAnmeldedaten.id = tblGuthaben.ID
    13. JOIN tblDruckerauftragLogs
    14. ON tblDruckerauftragLogs.ID = tblGuthaben.ID
    Bilder
    • bug111.jpg

      120,88 kB, 634×566, 23 mal angesehen
    Visual Basic.NET 8o
    MS-SQL
    8o

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

    Hi,

    ich bin kein SQL-Experte, aber ich vermute das liegt an deinen JOINS.
    Das sind also INNER JOINS und somit werden nur Daten angezeigt, wo auf beiden Seiten eine Zuordnung gefunden wurde.
    Mehr dazu findest du hier.
    @KingLM97
    Vielen Dank. :)
    Ich habe die JOIN Befehle nochmals getestet.
    Das letzte JOIN müsste ich noch verbessern!


    Hier die Lösung für alle:

    SQL-Abfrage

    1. SELECT Vorname +' ' + Nachname AS 'Vollständiger Name', Benutzername, DokumentName, FarbEinstellung, SeitenAnzahl, FORMAT(proSeiteKosten, 'C') AS 'proSeiteKosten' , Drucker ,Auftragsdatum, FORMAT(Kosten, 'C') AS 'Kosten'
    2. FROM tblAnmeldedaten
    3. JOIN tblBenutzer
    4. on tblAnmeldedaten.ID= tblBenutzer.ID
    5. JOIN tblGuthaben
    6. on tblAnmeldedaten.id = tblGuthaben.ID
    7. JOIN tblDruckerauftragLogs
    8. ON tblDruckerauftragLogs.Wer = tblGuthaben.ID

    Visual Basic.NET 8o
    MS-SQL
    8o

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Cheffboss“ ()

    Da scheint mir ja ein sehr ungewöhnliches Datenmodell vorzuliegen.
    In meiner Welt verjoint man üblicherweise den PrimaryKey der einen Tabelle mit einem Foreignkey einer anderen (1:n-Relation)
    Bei dir werden aber lauter PrimaryKeys verjeoint.
    (vorrausgesetzt, ID bezeichnet bei dir den PrimKey einer Tabelle)