SQL Abfrage
flo
- datenbank
Hallo Forumler!
Habe irgendwie einen Knoten! Vielleicht habt Ihr einen Tip.
Habe eine Tabelle in einer ACCESS-DB die folgendermaßen aussieht:
CustomerID Day Scenario ID
C10000 Day1 SP001
C10000 Day1 SP002
C10000 Day1 SP003
C20000 Day2 SP001
Ich will jetzt aber eine Abfrage erstellen, die mir alles
so darstellt:
Customer ID Day1 Day2
C10000 SP001 -
C10000 SP002 -
C10000 SP003 -
C20000 - SP001
Danke schon mal für Tips bzw. Hilfe.
Grüße aus München
Flo
Hi,
Ich will jetzt aber eine Abfrage erstellen, die mir alles
so darstellt:
wenn Du (bei der Erstellung des Statements) _weißt_, dass es genau "Day1" und "Day2" gibt, ist das möglich. Wenn nicht, dann nicht - zumindest nicht auf auch nur annhähernd sinnvollem Wege.
Cheatah
Hallo Cheatah !
Ja das ist gesichert mit Day1, Day2, Day...
Grüße
Flo
Moin!
Ja das ist gesichert mit Day1, Day2, Day...
Das ist doch genau das Problem! Wenn du vor der Abfrage genau weißt, wieviele "Days" es gibt, kann es eine Lösung geben. Wenn nicht - und dein "Day..." deutet darauf hin - dann nicht.
- Sven Rautenberg
helau,
Wenn nicht, dann nicht - zumindest nicht auf auch nur annhähernd sinnvollem Wege.
spontan würde mir ein left self join in den sinn kommen, ohne genauer darüber nachzudenken.
ein käfig voller Narren
Ilja
Hallo Flo,
Access bietet Dir hierfür "Kreuztabellen"-Abfragen.
Bei Abfragen -> Neu -> Kreuztabellenabfrage.
Kritisch wird es Berichte und Formulare zu erstellen, aber auch
hierfür gibts Lösungen, die sind allerdings etwas komplexer
einfach mal nachgooglen (Problem: dynamische Anzahl an Spalten-
überschriften in Access)
Gruß
annA
yo,
hier ist der jecke aus preussen noch mal. versuch doch mal.je nachdem ob die gleiche customerid und scenarioid nur einmal vorkommt oder auch zweimal.
nur einmal:
SELECT customerid, if(Day='Day1', scenarioid, '-') AS Day1, if(Day='Day2',scenarioid,'-') AS Day1
FROM tabelle
zweimal:
SELECT t1.customerid, if(t1.Day='Day1', t1.scenarioid, '-') AS Day1, if(t1.Day='Day2',t2.scenarioid,'-') AS Day1
FROM tabelle AS t1
LEFT JOIN tabelle AS t2
ON (t1.customerid = t2.customerid AND t1.scenarioid=t2.scenarioid)
Ilja