dickerbert
Seriöser Troll
- Registriert
- 23. März 2007
- Reaktionspunkte
- 869
Ich suche ein SQL-Statement mit dem ich für mehrere Spalten den Maximalwert ausgegeben bekomme. Jeweils Spalte für Spalte, nicht den Maximalwert aus mehreren Spalten.
Beispiel:
Es soll jeweils für Spalte 1 bis 3 der Maximalwert berechnet und in einer Tabelle ausgegeben werden. Da ich bei SELECT MAX(...) aber nur eine Spalte zur Maximumsberechnung eingeben kann, komme ich hier nicht weiter.
Eine Überlegung war, das ganze durch mehrere VIEWS zu lösen, die im zweiten Schritt wieder zusammen gefügt werden. Allerdings fehlt für den JOIN die Verknüpfung (ON):
CREATE VIEW 'MAX_1' AS (SELECT MAX(Spalte_1) FROM Datenbank_1);
CREATE VIEW 'MAX_2' AS (SELECT MAX(Spalte_1) FROM Datenbank_2);
CREATE VIEW 'MAX_3' AS (SELECT MAX(Spalte_1) FROM Datenbank_3);
SELECT MAX_1
Weiteres Problem an dieser Variante ist, dass es bei der echten Datenbank nicht um drei Spalten geht, sondern um 20. Das macht den Query nicht gerade performant, wenn 20 Views gebildet werden nur um sie als zusammengefügte Tabelle anzeigen zu lassen.
Hat jemand eine Idee, wie ich einfacher (oder überhaupt) zur Ausgabetabelle komme?
Beispiel:
Es soll jeweils für Spalte 1 bis 3 der Maximalwert berechnet und in einer Tabelle ausgegeben werden. Da ich bei SELECT MAX(...) aber nur eine Spalte zur Maximumsberechnung eingeben kann, komme ich hier nicht weiter.
Eine Überlegung war, das ganze durch mehrere VIEWS zu lösen, die im zweiten Schritt wieder zusammen gefügt werden. Allerdings fehlt für den JOIN die Verknüpfung (ON):
CREATE VIEW 'MAX_1' AS (SELECT MAX(Spalte_1) FROM Datenbank_1);
CREATE VIEW 'MAX_2' AS (SELECT MAX(Spalte_1) FROM Datenbank_2);
CREATE VIEW 'MAX_3' AS (SELECT MAX(Spalte_1) FROM Datenbank_3);
SELECT MAX_1
LEFT JOIN MAX_2 ON (???)
LEFT JOIN MAX_3 ON (???);
LEFT JOIN MAX_3 ON (???);
Weiteres Problem an dieser Variante ist, dass es bei der echten Datenbank nicht um drei Spalten geht, sondern um 20. Das macht den Query nicht gerade performant, wenn 20 Views gebildet werden nur um sie als zusammengefügte Tabelle anzeigen zu lassen.
Hat jemand eine Idee, wie ich einfacher (oder überhaupt) zur Ausgabetabelle komme?