Mailinglisten-Archive |
On Wed, Apr 10, 2002 at 08:27:25AM +0200, mwolf_(at)_suedstern-ag.de wrote: <snip> > Wer kann mir einen Tipp geben, wie ich mit doppelte Tabellen-Eintraege > entferne. D.h. alle Attribute ausser dem Index sind identisch. > > Vom Effekt Aehnlich wie: > > DELETE FROM table where ent_a_1= ent_a_2 and ent_b_1= ent_b_2... ; deine fragestellung ist mir noch etwas unklar ... doppeleintraege im sinne von mehreren tupeln mit gleichen werden kannst du in etwa so kriegen : SELECT attr1, attr2, ... FROM foo GROUP BY attr1, attr2, ... HAVING count(*) > 1; damit werden die tupel ueber attr1, attr2 usw zusammengruppiert (die restlichen attribute werden ausgelassen). wenn count > 1 ist, tauchen die entsprechenden werte demzufolge mehrfach auf. SELECT * FROM foo WHERE (SELECT count(*) FROM foo AS foo_tmp WHERE foo.attr1 = foo_tmp.att1 AND foo.attr2 = foo_tmp.attr2 ...) ; sollte auch gehen. hat den vorteil, dass dir dann immer die kompletten tupel ausgegeben werden, ist aber wesentlich langsamer ( O(n^2) ). ~-n -- Enrico Weigelt == meTUX IT services software development, IT service, internet security solutions www: http://www.metux.de/ phone: +49 36207 519931 email: contact_(at)_metux.de cellphone: +49 174 7066481
php::bar PHP Wiki - Listenarchive