Veröffentlicht 23. Mai 200916 j Hallo, habe noch eine Frage(SQL mit ORACLE). Weiß jemand, wie ich in eine neue Relation die ersten n Einträge aus einer anderen Tabelle einfüge. Ich kenne insert into.. Select ... from .... Aber wie wähle ich nun die ersten n aus?
23. Mai 200916 j wie ich in eine neue Relation Du meinst in eine neue Tabelle. Eine Relation ist nichts physikalisches. Aber wie wähle ich nun die ersten n aus? So: insert into ziel (spalteA,spalteB) select spalte1,spalte2 from (select spalte1,spalte2 from quelle order by spalteXY) a where rownum <=100; Damit lädst Du 100 Zeilen aus der Quelltabelle. Du kannst es auch ohne Subselect machen, allerdings sind die 100 Zeilen dann zufällig gewählt. Rownum ist eine sog. Pseudospalte, die dem Ergebnis dynamisch zugewiesen wird. Dim
23. Mai 200916 j 2Fragen noch: 1)Wofür steht denn das 'a'? 2)Bisher habe ich das Subselect nur hinter der where-Klausel oder having gesehen. Ist das Absicht, dass das nun hinter from steht?
23. Mai 200916 j Das a bezeichnet eine dynamsich temporäre Tabelle. Diese wird mit dem select innerhalb der Klammer kurz vor dem a definiert. Frank
23. Mai 200916 j Wofür steht denn das 'a'? Es ist ein Alias. Damit kannst du mittels a.spaltenname ganz gezieklt auf eine bestimmte Spalte zugreifen, wenn z.B. in deinem SQL dieser Spaltenname von mehreren Tabellen verwendet wird. Ich hätte auch Hugo schreiben können. Bisher habe ich das Subselect nur hinter der where-Klausel oder having gesehen. Ist das Absicht, dass das nun hinter from steht? Ja. Die Ergebnismenge wird behandelt wie eine normale Tabelle. Dim
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.