Announcement

Collapse
No announcement yet.

zwei Tabellen verbinden

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • zwei Tabellen verbinden

    Hallo zusammen ich habe da mal eine Frage,



    ich beschäftige mich noch nicht so lange mit SQL und bräuchte bei einem Problem etwas Hilfe.
    ich soll eine Report erstellen welcher die Plz, Ort usw ausgibt (Weihnachtskarten) :-)


    jetzt gibt es bei uns eine Tabelle mit einem Zeitstamm (hier sind alle Mitarbeiter)

    Tabelle Zeitstamm
    =================
    ID, Name, Vorname

    und zwei Tabellen mit den Persönlichen Daten (und hier ist das Problem)

    Tabelle Operativ
    ================
    ID, USRID, PLZ, ORT, STRASSE

    Tabelle Administrativ
    =====================
    ID, USRID, PLZ, ORT, STRASSE

    jetzt ist es so das z.b. der erste Eintrag in der Tabelle Zeitstamm die Daten von Tabelle
    Operativ benötigt und der zweite Eintrag die Daten aus der Tabelle Administrativ.
    gibt es eine Möglichkeit einen View oder Sicht mit einer SQL Anweisung zu erstellen
    wo die Tabelle Operativ / Administrativ in eine zusammengefasst wird?
    dies wird für Crystal Reports benötigt und es sollen keine neuen Tabellen auf dem
    SQL Server erstellt werden.

    Danke für die Hilfe

  • #2
    Man kann zB. in einer View die zwei Tabellen über UNION zu einer zusammenfassen. Ob es das Gewünschte liefert kann ich dir aber nicht sagen, dazu sind die Angaben etwas zu ungenau.

    bye,
    Helmut

    Comment


    • #3
      Hallo hwoess,

      danke für die schnelle Antwort. ich hab es jetzt die beiden Tabellen Operativ und Administrativ
      zu einer Tabelle zusammengefügt. jetzt habe ich nur das problem das es doppelte einträge
      in der zusammengefügten tabelle gibt. es kann halt vorkommen das der name einmal in der
      tabelle Operativ und einmal in der tabelle Administrativ vorhanden ist. dan habe ich ein
      bisschen gegoogeld und es mit distinct versucht aber leider ohne erfolg.

      hier noch einmal ein Beispiel

      Tabelle Operativ
      ID, USRID, Vorname, Name
      0, 10, Peter, Lustig
      1, 12, Klaus, Peter

      Tabelle Administrativ
      ID, USRID, Vorname, Name
      10, 10, Peter, Lustig
      14, 20, Max , Mustermann

      als Ergebniss sollte folgende Tabelle kommen
      ID, USRID, Vorname, Name
      0, 10, Peter, Lustig
      1, 12, Klaus, Peter
      14, 20, Max , Mustermann

      es sollen keine doppelten Einträge vorhanden sein.

      vielen Dank für die Hilfe

      PS: so habe ich es bis jetzt

      select id,usrid,vorname,name from operativ
      union
      select id,usrid,vorname,name from administrativ

      Comment


      • #4
        Hallo,

        dann kannst du doch dein UNION in einem Subselect für eine gruppierte Abfrage verwenden.

        [highlight=sql]
        select min(id) id, usrid, vorname, name
        from (
        select id, usrid, vorname, name from operativ
        union
        select id, usrid, vorname, name from administrativ)
        group by usrid, vorname, name
        [/highlight]

        Und bitte beachten: Formatierung von SQL in Beiträgen

        Gruß Falk
        Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

        Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

        Comment


        • #5
          Hallo Herr Prüfer,

          danke für die schnelle Antwort!
          jetzt klappt es wunderbar.

          viele grüße aus Berlin

          Comment

          Working...
          X