0

SELECT TOP Statement

Hallo zusammen,

ich überlege wie ich am einfachsten sowas wie "SELECT TOP 3 * FROM Irgendwas" hinbekomme. Also so wie z.b. MS SQL Server select top... Muss man sich das zusammenbasteln oder existiert in NX eine Syntax die das schnell erledigt und nicht im Handbuch steht? Uwe

12 Antworten

null
    • bernd
    • vor 5 Jahren
    • Gemeldet - anzeigen

    geht nicht...

    • bernd
    • vor 5 Jahren
    • Gemeldet - anzeigen

    das heißt, Sir kannst mit SELECT ... WHERE natürlich versichen, nur 3 Datensätze zu bekommen. Du brauchst halt nur ein dementsprechesnde Bedingungsfeld.

    Meine Erfahrung ist: SELECT TOP 3 brauch bei NINOX nicht wirklich

    • bernd
    • vor 5 Jahren
    • Gemeldet - anzeigen

    das heißt, Du kannst mit SELECT ... WHERE natürlich versuchen, nur 3 Datensätze zu bekommen...

    (🤭 der Rest ist richtig 😌)

    • Uwe_Keller
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Hallo Bernd, ja sowas scheint es nicht direkt zu geben. Ich versuche mal was zu basteln.

    • Ninox-Professional
    • planoxpro
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Einen mit TOP/LIMIT/FETCH vergleichbaren Parameter gibt es m. W. bei Ninox nicht. Wäre m. E. aber durchaus eine sinnvolle Erweiterung (und vermutlich nicht sooo schwierig zu realisieren). Denn vielleicht will man wirklich mal nur die zehn umsatzstärksten Produkte, die drei letzten Bestellungen o. ä. sehen bzw. eine darauf beschränkte Ansicht freigeben.

    Trag das doch mal unter "Ideen & Anregungen" als Wunsch ein.

    • Uwe_Keller
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Hallo Copytexter, genau dafür brauche ich das. Dashboard und auf einen Blick die 10 Topseller des Zeitraumes von-bis. Ich schreibe das mal in die CR Liste oder in Ideen&Anregungen rein.

    • Ninox-Professional
    • planoxpro
    • vor 5 Jahren
    • Gemeldet - anzeigen

    👍

    • bernd
    • vor 5 Jahren
    • Gemeldet - anzeigen

    dazu gehört aber auch noch, das man abwärts sortieren lassen muß... als order by ... desc, und das geht auch nicht (oder inzwischen doch?)

    • Uwe_Keller
    • vor 5 Jahren
    • Gemeldet - anzeigen

    stimmt auch wieder

    • Ninox-Professional
    • planoxpro
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Ein grundlegender Unterschied und Vorzug von Ninox zu SQL-Datenbanken ist ja die visuelle Bedienung. Im Beispiel der zehn umsatzstärksten Produkte hieße das: In der Tabellenansicht auf die Spalte "Umsatz" klicken und im Dialog auf "Absteigend sortieren". Zur Limitierung der anzuzeigenden Datensätze bräuchte es dann nur noch ein zusätzliches Feld, in das man optional eine Zahl schreiben könnte, in diesem Fall halt '10'. Dann hätte man genau das gewünschte Ergebnis, OHNE irgendwelchen Code oder Abfrage-Statements formulieren zu müssen.

     

    Natürlich wäre es schön, wenn sich eine solche Funktion zusätzlich auch noch als Element der Scriptsprache nutzen ließe, aber notwendig ist es erst mal nicht. Je weniger Befehle und Funktionen zum Erreichen eines bestimmten Ergebnisses erforderlich sind, desto besser.

    • Uwe_Keller
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Ja, da hast du wohl recht. Der Informationsgehalt der Daten wäre dadurch kein anderer. Es wäre nur was für Anwender ,die sowas "fest eingebaut" haben wollen.

    • Leonid_Semik
    • vor 5 Jahren
    • Gemeldet - anzeigen

    Die Formel für eine Zahlenspalte wäre dann:

    ---

    let myNumber := Zahl;
    if cnt(select 'Deine Tabelle' where Zahl >= myNumber) > 10 then
    0
    else
    Zahl
    end

    ---

    Jetzt bleibt nur den Filter für diese Spale nehmen

    ---

    >0

    ---

    und die Spalte absteigend sortieren.

     

    Leo

Content aside

  • vor 5 JahrenZuletzt aktiv
  • 12Antworten
  • 3568Ansichten