Diese 4 Abfragen produzieren das gewünschte Ergebnis, jedoch möchte ich diese Abfragen in eine Abfrage umwandeln, die jede Abfrage als horizontale Spalte mit den entsprechenden Abfragen Ergebnis vertikal zurückgeben.Ich habe 4 Oracle SQL-Abfragen, die ich in einem Ergebnis haben möchte
Ich habe alle Anfragen beschränkt auf rownum haben < = 20.
SELECT * FROM (SELECT count(tl.usr) as "Antall oppslag" FROM TABLE tl WHERE
tl.timestamp >= (sysdate - (1/24)) GROUP BY tl.usr ORDER BY count(tl.usr) desc) WHERE
rownum <= 20;
SELECT * FROM (SELECT count(tl.usr) as "Antall oppslag" FROM TABLE tl WHERE
tl.timestamp >= (sysdate - (1)) GROUP BY tl.usr ORDER BY count(tl.usr) desc) WHERE
rownum <= 20;
SELECT * FROM (SELECT count(tl.usr) as "Antall oppslag" FROM TABLE tl WHERE
tl.timestamp >= (sysdate - (7)) GROUP BY tl.usr ORDER BY count(tl.usr) desc) WHERE
rownum <= 20;
SELECT * FROM (SELECT count(tl.usr) as "Antall oppslag" FROM TABLE tl WHERE
tl.timestamp >= (sysdate - (30)) GROUP BY tl.usr ORDER BY count(tl.usr) desc) WHERE
rownum <= 20;
Wer noch keine Vorschläge, wie dies zu tun?
EDIT: Ich möchte angeben, dass ich nicht die Ergebnisse übereinander wollen. Die verschiedenen Anfragen hat horizontale Spalten sein, während ihre jeweiligen Ergebnisse gehen vertically.a
Ahh das sieht perfekt. Lass es mich ausprobieren, bevor ich die Antwort akzeptiere. Sehr schön. Ich habe vorher eine ähnliche Abfrage gemacht, aber ich habe das a.rownum = b.rownum und so weiter vergessen, also bekam ich ein sehr schlechtes Ergebnis. –
tatsächlich ist die Tabellenreferenzen innerhalb der Unterabfragen. Kann es von außerhalb der Unterabfragen referenziert werden? Ich bekomme Fehler, dass die Tabellen a, b, c, d nicht existieren. Genauer gesagt heißt es "ungültige user.table.column, table.column oder column specification" in der Zeile, in der ich a.rownum = b.rownum sage –
@Karrax: Ich denke, du solltest einen Alias für rownum verwenden, zB: 'SELECT rownum rwnum' ....... wo a.rwnum = b.rwnum –