Announcement

Collapse
No announcement yet.

distinct 2 Tabellen vergleichen

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

  • distinct 2 Tabellen vergleichen

    Hi, also folgendes.

    Ich habe 2 Tabellen mit unterschiedlichen inhalt die aber beide in 2 Spalten gleich sind. Bei Kunde und bei Material
    Nur bei einer Tabelle (sagen wir Tabelle1) sind mehr Kunden und Material aufgelistet wie bei der anderen (Tabelle2).
    Ich brauche also alle Daten von Tabelle1 von den Kunden und dazugehörigen Material die auch in Tabelle2 sind.

    Hab mir da auch was überlegt vielleicht stimmt das ja.

    Select * from Tabelle1 as x
    where x.Kunde=(select distinct Kunde from Tabelle2 where Kunde = x.Kunde)
    and x.Material = (select distinct Material from Tabelle2 where Material = x.Material)

    Danke
    Gruss
    Heinz

  • #2
    Schau dir mal die Definition von Inner Join an. Da wir dein DBMS nicht kennen können wir dir auch nicht sagen wie genau dieser bei deinem DBMS aussieht.

    Comment


    • #3
      Hallo Heinz,

      Das geht so:

      Select * from Tabelle1
      Where exists (select * from Tabelle2 where Tabelle2.Kunde=Tabelle1.Kunde
      And Tabelle2.Material=Tabelle1.Material)

      Gruß frauwue
      docendo discimus

      Comment


      • #4
        Autsch - Subselect. Wenn du pech hast und das DMBS nicht sehr intelligent ist hast du hier ein Performancegrab bei größeren Tabellen.

        Comment


        • #5
          @Bernhard Geyer

          Viele Wege führen nach Rom. Ich habe mit solchen subselects bei meiner
          riesigen INFORMIX Datenbank noch keine negativen Erfahrungen gemacht.
          Da die Teilnehmer dieses Forums meistens alles in einem Select erledigen wollen, sollte man zunächst eine entsprechende Lösung aufzeigen. Mit
          mehreren selects geht natürlich manches schneller. Ob Join oder subselect
          ist in diesem speziellen Fall m. E. egal. Vieles hängt natürlich auch von der Indizierung
          der Tabellen ab. Ich finde es auch nicht richtig, eine funktioniernde Lösung eines anderen Forumsmitgliedes zu kritisieren. Man sollte in dem Fall eine
          weitere Lösung anbieten. Dann kann der Fragesteller selbst ausprobieren,
          wie er es am besten macht.

          Gruß frauwue
          docendo discimus

          Comment


          • #6
            Sorry wenn zu starke kritik war. Aber da wir bisher noch nicht wissen welche DBMS er hat wissen wir nicht ob ein Subselect schlecht für ihn wäre
            Und mehrer Selects brauch ich bei einem inner join auch nicht.

            Comment


            • #7
              Hallo Bernhard,

              INNER JOIN gibt es auch nicht bei jeder Datenbank. Das ist im Prinzip
              nur eine Schreibweise.
              docendo discimus

              Comment


              • #8
                Na na...braucht ja wegen mir nicht zu streiten anfangen.

                Ich danke jetzt einfach euch beiden ;-)

                Nebenbei, gibt es irgendwo einen gute Seite oder Buch mit komplizierten Selects zum Üben, damit ich nicht immer hier reinposten muss ?

                Danke

                Gruss
                Heinz

                Comment


                • #9
                  Nebenbei, gibt es irgendwo einen gute Seite oder Buch mit komplizierten Selects zum Üben, damit ich nicht immer hier reinposten muss ?
                  Nochmal: Welches DBMS setzt du ein? Oft ist die (Online-)Hilfe der entsprechenden Datenbank eine gute Quelle.

                  Und streiten gehört dazu. Wir sind ja nicht abfällig oder beleitigend geworden :-)

                  Comment


                  • #10
                    Hmm das kommt drauf an.

                    Ich zieh oft von einer Oracle 9 Datenbank grössere Datenmengen auf eine Access Datenbank um Offline arbeiten zu können. Also eigentlich beide.

                    Comment


                    • #11
                      Grad die beiden DB's wo ich nicht weis wo man schaut. Bei Oracle ist das Chaos zu groß und bei neueren Access-Versionen ist die Hilfe fast nicht mehr zu gebrauchen :-(

                      Comment


                      • #12
                        Hallo Heinz,

                        je mehr verschiedene Datenbanken Du benutzt, umso mehr solltest Du
                        Dich am Standard SQL orientieren.

                        Gruß frauwue
                        docendo discimus

                        Comment


                        • #13
                          Und gibts da ne Webseite mit verschiedenen selects die immer komplizierter werden oder so ?
                          Hätte schon nach Bücher geschaut aber da sind oft auch verschiedene creates und update etc beschrieben die ich nicht brauche.

                          Danke

                          Comment

                          Working...
                          X