Announcement

Collapse
No announcement yet.

Join invertieren ???

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

  • Join invertieren ???

    Ich habe eine tabelle Artikelneu und eine Artikelalt und bei beiden eine Art_nr als Spalte,
    über eine join abfrage beide tabellen zu verbinden in denen die gleichen artikelnummern sind is ja kein problem, aber ich bräuchte NUR die Artikel denen keine Art_Nr aus der jeweils anderen tabelle zugeordnet werden kann... also eig das invertierte INNER JOIN Ergebnis. Gibts da ne Möglichkeit?

    lg
    Zuletzt editiert von Crassuss; 07.08.2009, 10:26.

  • #2
    select Art_nr from artikelalt where not exists
    (select * from artikelneu where artikelalt.art_nr=artikelneu.art_nr)
    UNION
    select Art_nr from artikelneu where not exists
    (select * from artikelalt where artikelalt.art_nr=artikelneu.art_nr)
    order by 1

    Gruß
    docendo discimus

    Comment


    • #3
      Oh danke für die rasche Antwort Fünf Sterne *****
      ich hab nur meine Frage vorher nicht ganz richtig gestellt, ich will die artikel die in der alten tabelle stehen aber NICHT in der neuen, dh ich will wissen welche Produkte ich noch ergänzen muss. ich brauch nämlich nicht die artikel die in der neuen stehe und nicht in der alten

      mal zwei tabellen als beispiel:


      Artikelneu.Art_nr ||||| Artikelalt.Art_nr

      10 20
      12 21
      20 23
      23 24
      44 44
      45 50

      Ausgabe sollte dann sein:

      Artikelalt.Art_nr
      21
      24
      50

      Comment


      • #4
        Originally posted by Crassuss View Post
        Oh danke für die rasche Antwort Fünf Sterne *****
        ich hab nur meine Frage vorher nicht ganz richtig gestellt, ich will die artikel die in der alten tabelle stehen aber NICHT in der neuen,


        Hallo

        Code:
        Select art_nr from Artikelalt where art_nr NOT IN (SELECT b.art_nr from Artikelneu b);
        (Ungetestet)

        Gruss

        Comment


        • #5
          Dann lasse einfach den UNION SELECT weg.
          docendo discimus

          Comment


          • #6
            Originally posted by dbwizard View Post
            Hallo

            Code:
            Select art_nr from Artikelalt where art_nr NOT IN (SELECT b.art_nr from Artikelneu b);
            (Ungetestet)

            Gruss
            danke für deine rasche antwort aber da bekomm ich dann keine ausgabe.

            vlt sollt ich einfach:

            select art_nr from oekokiart where not exists
            (select * from artikel where oekokiart.art_nr=artikel.vkartnr) ??

            Comment


            • #7
              Ja s.o.

              Gruß
              docendo discimus

              Comment


              • #8
                Danke für eure Hilfe

                select art_nr from oekokiart where not exists
                (select * from artikel where oekokiart.art_nr=artikel.vkartnr)

                das bringt das gewünschte Resultat

                Comment


                • #9
                  Hallo,

                  ein OUTER-Join mit zusätzlicher Where-Bedingung sollte auch funktionieren:
                  [highlight=sql]
                  select art_nr from oekokiart
                  outer join artikel on artikel.vkartnr = oekokiart.art_nr
                  where artikel.vkartnr is null
                  [/highlight]

                  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

                  Working...
                  X