zurück zur Startseite
  


Zurück XHTMLforum > Webentwicklung (außer XHTML und CSS) > Serveradministration und serverseitige Scripte
Seite neu laden Fast Doubletten mit SQL sauber filtern

Antwort
 
LinkBack Themen-Optionen Ansicht
  #1 (permalink)  
Alt 15.09.2012, 13:41
Benutzerbild von axelm
Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 24.03.2005
Ort: Hamburg
Beiträge: 48
axelm befindet sich auf einem aufstrebenden Ast
Standard Fast Doubletten mit SQL sauber filtern

Hi,

ich habe eine SQL Tabelle mit Kfz-Händlern. Jeder Händler kann Fachhändler für eine Marke sein (zb. Fachhändler für Audi) leider sind die Datensätze doppelt erfasst worden und ich habe zb ganz unten auf

Kfz-Händler Düren

2 Mal den Händler "Wolff & Meier GmbH" drin weil der einmal Fachhändler für Audi und 1x für VW ist.

- Gibt es eine SQL JOIN Abfrage mit der ich das in der Ausgabe abfangen kann?

- Ich scheue mich ein wenig alle Datensätze zu normalisieren. Wäre
dann eine Händler Tabelle und eine "Maken / Fachhändler für" Tabelle der richtige Weg?
__________________
Axel

https://www.kfz.net
Mit Zitat antworten
Sponsored Links
  #2 (permalink)  
Alt 15.09.2012, 14:17
Benutzerbild von Thielo
Web Ninja
XHTMLforum-Kenner
 
Registriert seit: 17.09.2009
Ort: Stuttgart oder so
Beiträge: 3.372
Thielo ist ein LichtblickThielo ist ein LichtblickThielo ist ein LichtblickThielo ist ein LichtblickThielo ist ein LichtblickThielo ist ein Lichtblick
Standard

Normalisieren kommt vor Join.

Dein Problem in diesem Fall: Du hast den Händler 2 mal drin, weil er 2 mal vorkommt. Eine Normalisierung (die hilft) solltest du durchführen.

Du hast in diesem Fall mindesten (beim groben Nachdenken) 4 Tabellen:

Tabelle 1: Händler
Tabelle 2: Orte
Tabelle 3: Automarken
Tabelle 4: Kreuztabelle Händler/Automarken

Sollte es verbesserbar sein, her damit, wie gesagt nur grob überschlagen.
__________________
Hier ein immer gültiges Statement: Überarbeite deine Code, lerne die Grundlagen, widersprich mir nicht, wehre dich nicht, ich habe Recht, wir sind Lolgion, wir sind viele.. potato...
All meine Angaben sind ohne Gewähr, es könnte also trotz meiner Unfehlbarkeit dazu kommen dass ich falsch liege

www.richard-thiel.de | Müssen Websiten überall gleich ausschauen?
Mit Zitat antworten
Sponsored Links
  #3 (permalink)  
Alt 16.09.2012, 12:58
Benutzerbild von mantiz
Erfahrener Benutzer
XHTMLforum-Kenner
 
Registriert seit: 25.02.2007
Beiträge: 2.843
mantiz kann auf vieles stolz seinmantiz kann auf vieles stolz seinmantiz kann auf vieles stolz seinmantiz kann auf vieles stolz seinmantiz kann auf vieles stolz seinmantiz kann auf vieles stolz seinmantiz kann auf vieles stolz seinmantiz kann auf vieles stolz sein
Standard

Denke auch, dass du die Tabellen etwas normalisieren solltest.

Stellt sich allerdings die Frage wie weit. Imo macht es keinen Sinn die Orte/Adressen von den Händlern zu trennen, da diese 1:1 dem Händler zugeordnet sind und wahrscheinlich auch nur in diesem Kontext benötigt werden.
Sie sollten aber nur einmal auftauchen.

Mein Vorschlag wäre daher:
- Händler
- Automarken
- Kreuztabelle Händler <-> Automarken

Bei der Abfrage (...from Händler ... join Händler_Automarken ... join Automarken ...) würden dann allerdings wieder (je nach join) entweder die Datensätze der Händler verdoppelt oder es würden Automarken rausfallen.
Oder du musst für jeden Händler ein eigenes Select für die Automarken ausführen, entweder als Sub-Select im Haupt-Query, oder (schlimmer) innerhalb der Schleife als eigenständiges Query.

Eine Möglichkeit wäre der Join über alle 3 Tabellen, welches dann per GROUP BY nach Händlern gruppiert wird und die Automarken kannst du dir dann per GROUP_CONCAT z.B. als Liste mit Komma getrennt direkt in eine Spalte holen.
Mit Zitat antworten
Antwort

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Softwareentwickler (m/w) im Bereich Bauwesen – .NET, C#, SQL, XML und HTML Kenntnisse gw-software Jobs 0 03.05.2012 13:46
SQL Abfrage gabischatz Serveradministration und serverseitige Scripte 4 23.04.2011 12:05
SQl Abfrage :S erxx Serveradministration und serverseitige Scripte 5 05.08.2008 19:35
Sql Scheppertreiber Serveradministration und serverseitige Scripte 2 02.06.2008 09:42
SQL Export und Import - Probleme wolf1985 Serveradministration und serverseitige Scripte 6 18.05.2008 13:07


Alle Zeitangaben in WEZ +2. Es ist jetzt 08:31 Uhr.