Doppelte Daten prüfen

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

  • Doppelte Daten prüfen

    Hallo!

    Ich habe eine mysql Datenbank mit 4 Spalten. Ich möchte 2 davon auf doppelte Einträge prüfen. Wie ich eine Spalte nach mehreren Einträgen durchsuche habe ich rausbekommen:

    select *,count(*) as anzahl from tabelle1 group by spaltenname order by menge desc limit 0,100

    Ich habe nun versucht, diese Abfrage so zu gestalten, dass ich nur eine Ausgabe erhalte, wenn in beiden Spalten die gleiche Eintragung steht. Bei der Eintragung mache ich normalerweise vorher eine Dopplungsprüfung, aber ich vermute, dass evtl. auf Grund manueller Änderungen inzwischen Doppelungen vorkommen können bei 130.000 Datensätzen.

    Hat jemand eine Idee für einen SQL Befehl? Ansonsten muss wohl ein PHP Script programmiert werden, aber da bin ich nicht soo fit, dass ich das mal eben hinbekomme.

    Ich bin für jeden Tipp dankbar, der mich der Lösung näher bringt

    Vielen Dank
    Jens

  • #2
    Lies dir mal den Beittrag zum Thema JOINs durch
    Ich denke, also bin ich. - Einige sind trotzdem...

    Comment


    • #3
      hilft dir vielleicht
      PHP Code:
      SELECT Tab1.Spaltenname1
      FROM Tabelle1 Tab1
      WHERE Tab1
      .Spaltenname1 Tab1.Spaltenname2 
      weiter?
      Software- und Webapplikationen

      Comment


      • #4
        @ rayD

        habe mich wahrscheinlich schlecht ausgedrückt. nicht die spalten sollen gleich sein, sondern die zeilen dürfen nicht identisch sein.

        Beispiel:
        Nummer Name Nachnahme
        1 Jens Jensen
        2 Jens Mittermeier
        3 Jens Jensen

        Dabei soll halt nicht zweimal Jens Jensen vorkommen.

        @ mrhappiness

        okay, ich suche mal danach, danke für den hinweis

        Comment


        • #5
          so, habe jetzt nochmal im forum gewühlt und bin nun leider völlig verwirrt. es gab ja schon total viele beiträge zu diesem thema, aber keiner hilft wirklich weiter.

          ich dachte die abfrage könnte es sein:
          SELECT one.name FROM tabellenname AS one JOIN name AS two ON one.nachname = two.nachname

          ich erhalte aber nur folgende meldung:
          You have an error in your SQL syntax near 'ON one.nachname = two.nachname LIMIT 0, 30' at line 1

          (obwohl ich kein limit vorgegeben habe)



          Danke Jens

          Comment


          • #6
            Das LIMIT kommte von phpmyadmin und ON darfst du bei einem JOIN erst ab mySQL 4.0.11

            Versuche mal INNER JOIN
            Ich denke, also bin ich. - Einige sind trotzdem...

            Comment


            • #7
              edit: sorry, hab mich vertan
              Last edited by Ray-D; 19-01-2005, 19:15.
              Software- und Webapplikationen

              Comment


              • #8
                select a.id, b.id, a.vorname, a.nachname
                from tab a
                inner join tab b on ( a.vorname = b.vorname and a.nachname=b.nachname and a.id < b.id )
                TBT

                Die zwei wichtigsten Regeln für eine berufliche Karriere:
                1. Verrate niemals alles was du weißt!


                PHP 2 AllPatrizier II Browsergame

                Comment


                • #9
                  SELECT distinct vorname, nachname FROM Tabelle;
                  Software- und Webapplikationen

                  Comment


                  • #10
                    @Ray-D
                    So kommt er aber nicht an die IDs der Dubletten
                    Ich denke, also bin ich. - Einige sind trotzdem...

                    Comment


                    • #11
                      versuchs mal mit:

                      select Spalte1,Spalte2, count(*) from TestTable
                      group by Spalte1,Spalte2 having COUNT(*) > 1
                      Rock on, Chummers
                      DrNorton

                      Comment

                      Working...
                      X