Wie benutze ich den Inner Join mit 4 Tabellen

  • VB.NET

Es gibt 12 Antworten in diesem Thema. Der letzte Beitrag () ist von Nofear23m.

    Wie benutze ich den Inner Join mit 4 Tabellen

    Die Daten sollen zur Akte (FileID = 2222) ausgelesen werden.
    Ich möchte die Grußformel und die Unternehmensart heraussuchen.

    Tabellen:

    (Haupttabelle)
    File_Object_Main, File_Object_Details, Key_Salutations, Key_LegalEntityForms


    Spalten:
    StandardOpening (aus Key_Salutations), LegalEntityForm (aus .Key_LegalEntityForms)


    Nur Einträge aus der aktuellen Adresse raussuchen, also alle Einträge bei denen
    File_Object_ Details.IsCurrent = 1 ist.
    Bilder
    • Untitled.png

      26,01 kB, 1.294×383, 136 mal angesehen
    Hallo

    wie ich sehe verwendest du Management Studio.

    Rechtsklick auf die Datenbank -> NewQeury
    In dem Query-Fenster rechtsklick -> Design Query in Editor

    Dort kannst du dir deine Abfrage nun zusammenbasteln inkl. automatischem Join.

    Grüße
    Sascha
    If _work = worktype.hard Then Me.Drink(Coffee)
    Seht euch auch meine Tutorialreihe <WPF Lernen/> an oder abonniert meinen YouTube Kanal.

    ## Bitte markiere einen Thread als "Erledigt" wenn deine Frage beantwortet wurde. ##

    Nofear23m schrieb:


    Dort kannst du dir deine Abfrage nun zusammenbasteln inkl. automatischem Join.



    Das ist mir bewusst, ich weiß nur nicht wie ich die Abfrage schreibe. Habe schon paar Sachen ausprobiert, aber bisher kam ich noch nicht zur Lösung.

    VB.NET-Quellcode

    1. Select dbo.File_Object_Main.FileID, dbo.Key_Salutations.StandardOpening, dbo.Key_LegalEntityForms.LegalEntityForm
    2. From dbo.File_Object_Main
    3. Inner Join dbo.Key_Salutations On dbo.Key_LegalEntityForms.ID = dbo.Key_Salutations.ID
    4. Inner Join dbo.File_Object_Details On dbo.File_Object_Main.FileID = dbo.File_Object_Details.ObjectID
    5. Where File_Object_ Details.IsCurrent = 1


    *Vollzitat entfernt* ~NoFear23m

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

    Hallo

    Das verstehe ich jetzt irgendwie nicht. Dort wird dir der SQL ja generiert. Auch Filterbedingungen (WHERE) können dort definiert werden.
    Der SQL der generiert wird kannst du dann hernehmen.

    Woran scheitert es denn genau??

    PS: Ich will dir ja zeigen wie du selbst an den richtien SQL kommst sonst stehst du bei der nächsten Anforderung wieder an.

    Grüße
    Sascha
    If _work = worktype.hard Then Me.Drink(Coffee)
    Seht euch auch meine Tutorialreihe <WPF Lernen/> an oder abonniert meinen YouTube Kanal.

    ## Bitte markiere einen Thread als "Erledigt" wenn deine Frage beantwortet wurde. ##

    Nofear23m schrieb:

    Dort kannst du dir deine Abfrage nun zusammenbasteln inkl. automatischem Join.
    Das funktioniert halt nur dann richtig, wenn die Relationen in der Datenbank auch eingepflegt sind.
    Das könnte hier unter Umständen die Stolperfalle sein.
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --

    petaod schrieb:

    Das könnte hier unter Umständen die Stolperfalle sein.

    Hast du recht. Aber dann würde ich an dieser Stelle auch erstmal hier ansetzen das in Ordnung zu bringen. ;(

    Grüße
    Sascha
    If _work = worktype.hard Then Me.Drink(Coffee)
    Seht euch auch meine Tutorialreihe <WPF Lernen/> an oder abonniert meinen YouTube Kanal.

    ## Bitte markiere einen Thread als "Erledigt" wenn deine Frage beantwortet wurde. ##

    Meint ihr damit zusammenbasteln? Habe das so noch nie gemacht, weiß da jetzt auch nicht weiter.
    Wie kann man denn da die Where Bedingung unter bekommen?
    Bilder
    • Untitled.png

      34,08 kB, 1.236×756, 112 mal angesehen

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


    Bei mir sieht das ja eher so aus... Und da gibt es ein Feld "Filter"
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    ... Nun solltest es selber wissen. :'D
    Geht das auch genauer? Im ernst.

    Wo kommst du jetzt nicht weiter. Was willst du genau erreichen? Hast doch nun die Abfrage oder??

    Grüße
    Sascha
    If _work = worktype.hard Then Me.Drink(Coffee)
    Seht euch auch meine Tutorialreihe <WPF Lernen/> an oder abonniert meinen YouTube Kanal.

    ## Bitte markiere einen Thread als "Erledigt" wenn deine Frage beantwortet wurde. ##

    Also die Abfrage sieht soweit ok aus.
    Ob die Verknüpfungen die du da erstellt hast stimmen, das kannst nur du sagen, da du die Inhalte der Tabellen kennst.
    Das Verknüpfen der einzelnen Tabellen miteinander kannst ja einfach per Drag&Drop machen.
    Ob du sie richtig verknüpfst (also die Spalten auch die entsprechend passenden Werte haben) musst du wissen (oder nachsehen).

    EDIT:
    Die Verknüpfungen sehen für mich augenscheinlich nicht so passend aus.
    Normal würde ich sagen gibt es in jeder Tabelle eine ID (die eindeutig je Tabelle ist). In der Regel würde ich also erwarten, dass zB: Key_LegalEntityForms.ID nix mit File_Object_Details.ID zutun haben kann. Du verknüpfst diese aber miteinander.
    Die Verknüpfungen müssen natürlich von dir so gemacht werden, dass sie inhaltlich stimmen.
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    ... Nun solltest es selber wissen. :'D

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

    Du musst verstehen das man sich da ein wenig schwer tut wenn man die DB bei sich nicht zur verfügung hat um das zu probieren, vorallem mit der Benamsung.
    Aber ich denke (zumindest wenn ich das beschriebene richtig verstehen) das dies mit deinem aktuellen Relationellen Modell so nicht geht - zumindest nicht mit einer Abfrage.

    Aber ich kann mich das auch vertun - wie gesagt, schwer das nachzuvollziehen ohne die DB zu haben.
    Aber vieleicht kann da ein SQL Profi mehr zu sagen. Ich würde dir empfehlen mal mit diesem Editor ein wenig zu spielen und zu versuchen auf ein gewünschtes ergebnis zu kommen.

    Nimm dir die Zeit und beschäftige dich damit, probiere rum, und versuche auch den generierten SQL zu verstehen um dann ggf. den SQL selbst anpassen zu können.

    Grüße
    Sascha
    If _work = worktype.hard Then Me.Drink(Coffee)
    Seht euch auch meine Tutorialreihe <WPF Lernen/> an oder abonniert meinen YouTube Kanal.

    ## Bitte markiere einen Thread als "Erledigt" wenn deine Frage beantwortet wurde. ##