Tabelle mit sich selbst verknüofen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Tabelle mit sich selbst verknüofen

    Hallo,

    ich habe folgendes Problem: Ich habe eine Tabelle, die Artikel, Lagerort und Löschmarkierung enthält mit z.B. folgendem Inhalt:
    Artikel: 1 Lager: A Löschen: 0
    Artikel: 1 Lager: B Löschen: 1
    Artikel: 2 Lager: A Löschen: 1
    Artikel: 2 Lager: B Löschen: 1
    Artikel: 3 Lager: A Löschen: 0
    Artikel: 3 Lager: B Löschen: 0


    so...jetzt sollen alle Datensätze in einer anderen Tabelle gelöscht werden, wo es zu einem Artikel nur Löschmarkierung gibt. Also in dem Fall oben würde Artikel 1 nicht gelöscht werden, weil er an Ort B noch vorhanden ist. Artikel 2 müßte gelöscht werden und Artikel 3 nicht.

    Ich wollte das mit nem Join auf die gleiche Tabelle machen, habe es damit aber bisher nur geschafft, mir alle Datensätze anzeigen zu lassen, die nicht gelöscht werden sollen und das auszuführen hat schon EWIGKEITEN gedauert. Die Tabelle hat 50000 Datensätze und mit nem Limit 0,50 hat es schon 100 Sekunden gedauert.

    Würde mich über Hilfe sehr freuen,

    roogla
    Zuletzt geändert von Roogla; 07.07.2003, 09:00.

  • #2
    Schade dass du deine Query nicht gepostet hast. Aber spendiere doch deiner Tabelle mal einen Primary Key mit auto_increment und führ den Join darüber aus.

    select a.Artikel, count(*) as Nichtloeschen from Tabelle a
    left join Tabelle b on a.ID=b.ID
    where b.Loeschen=0
    group by a.Artikel
    having Nichtloeschen=0
    mein Sport: mein Frühstück: meine Arbeit:

    Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

    Kommentar

    Lädt...
    X