[gelöst]doppelte Einträge in einer Spalte

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: [gelöst]doppelte Einträge in einer Spalte

Re: doppelte Einträge in einer Spalte

von marc 70 » Sa, 23.11.2013 13:42

Hallo,

danke euch beiden für die schnelle Hilfe.

geht so wunderbar. :D

Code: Alles auswählen

SELECT "Tabelle1"."FarbeID", "Tabelle1"."Preis", "Tabelle1"."mass1", "Tabelle1"."mass2", "Tabelle1"."Farbe" 
FROM ( SELECT MIN( "Preis" ) AS "MPreis", LEFT( "FarbeID", 5 ) AS "FarbKey" FROM "Tabelle1" WHERE "mass1" > 66 AND "mass2" > 66 GROUP BY LEFT( "FarbeID", 5 ) ) "Duplikate", "Tabelle1" 
WHERE "Tabelle1"."Preis" = "Duplikate"."MPreis" 
AND "Tabelle1"."mass1" > 66 
AND "Tabelle1"."mass2" > 66 
AND "Duplikate"."FarbKey" = LEFT( "Tabelle1"."FarbeID", 5 )
Gruß marc

Re: doppelte Einträge in einer Spalte

von F3K Total » Sa, 23.11.2013 10:14

Hi,
indem du der ersten Abfrage eine Spalte hinzufügst:

Code: Alles auswählen

SELECT "FarbeID", "Preis", "mass1", "mass2", "Farbe", LEFT( "FarbeID", 5 ) as "FarbKey" FROM "Tabelle1" WHERE ( "mass1" > 85 AND "mass2" > 85 )
Und dann eine dritte Abfrage schreibst, in der die beiden ersten kombiniert werden:

Code: Alles auswählen

SELECT "Abfrage".* FROM "Duplikate", "Abfrage" WHERE "Duplikate"."FarbKey" = "Abfrage"."FarbKey"
Das läßt sich durch Substitution von Duplikate in einer Abfrage zusammenfassen:

Code: Alles auswählen

SELECT 
    "Abfrage".* 
FROM 
    (SELECT 
         MIN( "Preis" ),
         LEFT( "FarbeID", 5 ) AS "FarbKey" 
    FROM
        "Tabelle1" 
     GROUP BY 
          LEFT( "FarbeID", 5 )) 
    AS "Duplikate", 
   "Abfrage" 
WHERE 
"Duplikate"."FarbKey" = "Abfrage"."FarbKey"
Gruß R

Re: doppelte Einträge in einer Spalte

von RobertG » Sa, 23.11.2013 09:52

Hallo Marc,

das Ganze funktioniert natürlich nur dann, wenn Du die Variablen x und y auch in der zweite Abfrage einbaust. Dann erhältst Du übereinstimmende Werte. Du könntest jetzt die Variablen über eine gesonderte Tabelle mit einem Datensatz einlesen lassen. Dann beeinflusst Du sie in beiden Abfragen gleichzeitig und kannst die eine auch als Grundlage für die andere nutzen.

Gruß

Robert
Dateianhänge
Neue Datenbank.odb
Gewünschtes Abfrageergebnis
(4.46 KiB) 107-mal heruntergeladen

[gelöst]doppelte Einträge in einer Spalte

von marc 70 » Sa, 23.11.2013 01:24

nabend,

komme alleine leider nicht weiter....

folgendes Beispiel einer Tabelle.
eins.jpg
eins.jpg (28.43 KiB) 1531 mal betrachtet

Code: Alles auswählen

SELECT "FarbeID", "Preis", "mass1", "mass2", "Farbe" 
FROM "Tabelle1" WHERE ( "mass1" > x AND "mass2" > y )

ist z.B. x=85 und y=85 dann bleiben nur 3 Zeilen übrig (1,3,6)--> alles gut so
ist z.B. x=60 und y=60 dann ist die Ausgabe wie oben (rot und blau ist doppelt) --> zeile 1 und 3 sollen aber weg
(denn die Farbe gibt es ja auch kleiner)

Die "FarbID" kann man zum vergleichen heranziehen( die ersten 5 zahlen ergeben immer die Farbe)

Code: Alles auswählen

SELECT MIN( "Preis" ), LEFT( "FarbeID", 5 ) as "FarbKey" 
FROM "Tabelle1" GROUP BY LEFT( "FarbeID", 5 )
mit Code 2 gibt es keine doppelten Farben mehr und auch die Richtgen bleiben übrig.
blos die anderen spalten sind dann weg und das mass wird auch nicht mehr berücksichtigt.
doub.jpg
doub.jpg (7.35 KiB) 1531 mal betrachtet
Wie kann man beides kombinieren?

besten Dank im voraus
Gruß marc

AOO 4.0.1
HSQL
Dateianhänge
Neue Datenbank.odb
(5.05 KiB) 99-mal heruntergeladen

Nach oben