Forums Neueste Beiträge
 

performante "Mapping"-Abfrage

23/02/2009 - 22:56 von d_heger | Report spam
Hallo,
ich verzweifele an einem Abfrage-Problem... ich hoffe ihr könnt mir
helfen oder Tipps für das weiterkommen geben.

Ich hab in einer Datenbank mit verkauften Autos die Details zu einem
Auto in einer separaten Tabelle vorliegen.
Das Problem ist das ich für jedes Auto nun gerne Details wie
Hersteller, Motor, Karosserie-Farbe oder Innenraum-Farbe aufgelistet
hàtte. Problem ist das nun jeder Hersteller z.B. für Motor eine eigene
Detail-Nummer hat.

Also bei VW ist z.B. der Motor die KeyNr. 11, bei Ford ists die 100
und bei Opel die 29. Das gleiche Spiel bei bei allen anderen Detail-
Angaben.


Also in der Haupttabelle stehen die Kaufvertràge und eine ID zum Auto.
In der Detail-Tabelle stehen dann als Beispiel:
AutoID Herstel KeyNr KeyText KeyValue
1 Ford 1 KaroFarbe Rostbraun
1 Ford 100 Motor V6-200PS
1 Ford 200 Innenraum Leder, rot
2 Opel 29 Motorisierung V4-110PS
2 Opel 2 Lackierung Champagner
2 Opel 105 Interieur Anthrazit
3 VW 11 Engine V4-16v-130
3 VW 14 Color Green, Lime
3 VW 22 Seats Leather, Dark-Black

Gibt es eine (performante) Möglichkeit festzulegen wofür jeder Wert
steht, also sich ein Mapping zu erstellen?
Quasi:
Motor ist bei VW, bei Ford0, bei Opel)
Ich frage in meine Abfrage den Wert "Motor" ab und bekomme den
entsprechenden Wert ausgelesen?

Ich hoffe mein Problem ist einigermaßen verstàndlich erklàrt. Ich hab
schon zuviel über dieses Problem gegrubelt und kann keinen klaren
Gedanken mehr fassen

Vielen Dank schon mal im voraus...
gruß, Dennis
 

Lesen sie die antworten

#1 Josef Poetzl
23/02/2009 - 23:10 | Warnen spam
Hallo!

schrieb:
[...]
In der Detail-Tabelle stehen dann als Beispiel:
AutoID Herstel KeyNr KeyText KeyValue
1 Ford 1 KaroFarbe Rostbraun
1 Ford 100 Motor V6-200PS
1 Ford 200 Innenraum Leder, rot
2 Opel 29 Motorisierung V4-110PS
2 Opel 2 Lackierung Champagner
2 Opel 105 Interieur Anthrazit
3 VW 11 Engine V4-16v-130
3 VW 14 Color Green, Lime
3 VW 22 Seats Leather, Dark-Black

Gibt es eine (performante) Möglichkeit festzulegen wofür jeder Wert
steht, also sich ein Mapping zu erstellen?
Quasi:
Motor ist bei VW, bei Ford0, bei Opel)
Ich frage in meine Abfrage den Wert "Motor" ab und bekomme den
entsprechenden Wert ausgelesen?



Du könntest eine weitere Tabelle verwenden.

AutoID | Herstel | NeueKennung
1 | 100 | 123 (=Motor)
2 | 29 | 123
3 | 11 | 123
1 | 200 | 4711 (Innenraum)
...

=>
select
...
from
NeueTabelle N
INNER JOIN
DetailTabelle D
ON D.AutoID = N.AutoID AND D.Herstel = N.Herstel
where
N.NeueKennung = 123


mfg
Josef

Ähnliche fragen