Information ausblenden
Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, MariaDB, Oracle, Sql-Server, Postgres, Access uvm

Einträge in zwei Tabellen vergleichen

Dieses Thema im Forum "Microsoft SQL Server" wurde erstellt von skysurfer102, 30 Dezember 2016.

  1. skysurfer102

    skysurfer102 Neuer Benutzer

    Hallo

    ich bin neu hier im Forum und hoffe mir kann jemand helfen.

    Ich muss in der Tabelle 1 schauen ob die Werte gleich der Tabelle 2 sind.

    Tabelle 1
    Zeile1 , A01 , 50 , 100
    Zeile2 , A01 , 60 , 100
    Zeile3 , D01 , 100 , 200
    Zeile4 , D01 , 110 , 200

    Tabelle 2 (Einstellung)
    A01 , 50 , 100
    D01 , 100 , 200

    Ich brauche nun eine Abfrage / Prozedur die mir aus der Tabelle 1 die Zeile2 und Zeile4 ausspuckt da die Werte nicht gleich der Tabelle 2 sind.

    Bekomme ich das mit einem SQL hin oder benötige ich dafür eine Prozedur ?

    Ich bin noch nicht so bewandert in Sachen SQL. Fange gerade erst damit an.

    Vielen Dank im vorraus an alle die mir versuchen zu helfen.

    Gruss
    skysurfer102
     
  2. NeoPrince

    NeoPrince Aktiver Benutzer

    Hi
    Schreib das nächste mal noch die spaltennamen auf dann ist es einfacher. Ansonsten suchst du denk ich was in die richtung, wobei z1 z2... einfach die spaltennamen sind.

    Code:
    Select * from tabelle1 as t1
    Join tabelle2 as t2 on t1.z1=t2.z1 and t1.z3=t2.z2 and t1.z4=t2.z3
    Where isnull(t2.z1) 
    Jetzt wo ich es geschrieben habe kommt es mir garnicht mehr so elegant vor. Evtl hat da jemand aus dem forum noch nen eleganteren vorschlag
     
  3. akretschmer

    akretschmer Datenbank-Guru

    Du suchst EXCEPT.

    Code:
    test=*# select * from s1;
     id
    ----
      1
      2
      3
      4
      5
    (5 Zeilen)
    
    test=*# select * from s2;
     id
    ----
      3
      4
      5
      6
      7
    (5 Zeilen)
    
    test=*# select * from s1 except select * from s2;
     id
    ----
      1
      2
    (2 Zeilen)
    
    test=*#
    
    Guten Rutsch!
     
    ukulele gefällt das.
  4. skysurfer102

    skysurfer102 Neuer Benutzer

    Hallo NeoPrince und akretschmer

    Vielen Dank für die superschnelle Hilfe. Ich glaube beide Varianten funktionieren. Ich habe mal wieder viel zu kompliziert gedacht.

    Werde ich direkt Montag testen.

    Gruss
    skysurfer102
     
Die Seite wird geladen...

Diese Seite empfehlen

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden