i have ~8000 entries in table "adr" , want join other tables. however, leads 200k+ results despite using distinct. culprit here "stort", second query works expected. however, can't figure out i'm doing wrong first one. double gemeinde_id?
200k+ results:
select distinct str.name, adr.hausnummer, stort.name, plz.postleitzahl, adr.pkuid adresse adr, strasse str, gemeinde gem, stadt_ortsteil stort, postleitzahl plz adr.strasse_id = str.strasse_id , adr.postleitzahl_id = plz.postleitzahl_id , str.gemeinde_id = gem.gemeinde_id , gem.gemeinde_id = stort.gemeinde_id 8000 results:
select distinct str.name, adr.hausnummer, gem.name, plz.postleitzahl, adr.pkuid adresse adr, strasse str, gemeinde gem, postleitzahl plz adr.strasse_id = str.strasse_id , adr.postleitzahl_id = plz.postleitzahl_id , str.gemeinde_id = gem.gemeinde_id
i find approach troubleshooting distinct or group options set query using group , put having clause duplicates. can shed light on large datasets. in example, going check stort.name duplicates, same other fields:
select str.name, adr.hausnummer, count(stort.name) stortduplicates, plz.postleitzahl, adr.pkuid adresse adr, strasse str, gemeinde gem, stadt_ortsteil stort, postleitzahl plz adr.strasse_id = str.strasse_id , adr.postleitzahl_id = plz.postleitzahl_id , str.gemeinde_id = gem.gemeinde_id , gem.gemeinde_id = stort.gemeinde_id group str.name, adr.hausnummer, stort.name, plz.postleitzahl, adr.pkuid having (count(stort.name) > 1)
Comments
Post a Comment