Hallo Thomas, Ralf,

In der SQL-Sprache setzt "LIMIT" eine "Where" Klausel voraus (oder eine
"ORDER BY" - sonst ist sie nicht gültig.

Insofern ist die Implementierung korrekt :-) (und sinnvoll).

Im Übrigen gab es sie auch bisher schon - intern. Das Resultset hatte
intern eine "LIMIT" Klausel verwendet - erkennbar an dem "*" hinter den
Einträgen 12/12* - was bedeutete, dass es noch mehr Einträge gibt.

Ich finde es sehr gut, dass dies nun auch im direkt im Frontend zur
Verfügung steht.

Viele Grüße
Thomas

Am 10.06.2013 03:19, schrieb Ralf Kestler:
> Hallo Thomas,
> 
> ich hab das eben in der Direkteingabe für SQL ausprobiert:
> 
> Folgendes Statement funktionierte bei mir auch nicht:
> 
> SELECT * FROM table LIMIT x
> 
> Was aber funktionierte waren diese beiden Statments:
> 
> SELECT * FROM table WHERE row=y LIMIT x
> 
> und
> 
> SELECT * FROM table ORDER BY y LIMIT x
> 
> Nebenbei sei bemerkt das 'LIMIT' nicht als Keyword blau markiert ist, 
> sondern grün wie Tabellen oder Spalten.
> 
> Ich glaube auch nicht, dass ohne eine WHERE/ORDER BY Klausel LIMIT nicht 
> viel Sinn macht.
> 
> Beste Grüße,
> 
> Ralf
> 
> Am 09.06.2013 19:53, schrieb Thomas Hackert:
>> Hi zusammen,
>> ich versuch’ gerade mich ein bisschen in der im Betreff genannten
>> SQL-Abfrage einzuarbeiten ... ;)
>>
>> Also Folgendes:
>>
>> LO: Version: 4.1.0.0.beta2
>> Build ID: 33224f4f11a05cfad2249e812fcc2975fbb61f6
>> BS: Debian Testing AMD64
>>
>> In der OLH zu Base gibt es im Index unter „SQL;LIMIT clause“ die Seite
>>
>> <quote>
>> Limes
>> Expands the created select statement of the SQL Query by the LIMIT X
>> clause. This can be used to limit your SQL Query results to those that
>> fall within the first X number of it.
>> </quote>
>>
>> . Um das mal nachzuvollziehen und passend übersetzen zu können, hab’ ich
>> mir in Base eine Tabelle mit den Feldern „Name“, „Adresse“ und
>> „Telefon“ erstellt (auch die Abfrage nach dem Primärschlüssel
>> beantwortet und auf „Autowert“ gestellt). Im Anschluss habe ich die
>> Tabelle zum Bearbeiten geöffnet, drei erfundene Namen mit Adresse und
>> Telefonnummer eingetragen, danach auf „Abfragen“ geklickt, „Abfrage in
>> der Entwurfsansicht erstellen“ gewählt und im nächsten Fenster die
>> markierte Testtabelle per „Hinzufügen“ ausgewählt. Im „Query
>> Design“-Fenster hatte ich dann „Name“, „Adresse“ und „Telefon“ doppelt
>> angeklickt, um sie der Tabelle hinzuzufügen. Nach dem Schließen des
>> Dialogs ist ja oben ein Auswahlmenü, wo „Alle“ drin steht (die
>> Schnellhilfe gibt dann nur „Limit“ an). Wenn ich das händisch auf „2“
>> ändere (hab’ ja nur drei Datensätze), dann <F5> für „Abfrage ausführen“
>> klicke, kommt als Fehlermeldung
>>
>> <quote>
>> SQL-Status: 37000
>> Fehler-Code: -11
>>
>> Unexpected token: 2 in statement [SELECT "Name", "Adresse", "Telefon"
>> FROM "test" LIMIT 2]
>> </quote>
>>
>> beim zweiten Eintrag „Fehler“
>> bzw.
>>
>> <quote>
>> Das SQL-Kommando, welches zu diesem Fehler führte, ist:
>>
>> SELECT "Name", "Adresse", "Telefon" FROM "test" LIMIT 2
>> </quote>
>> ... :(
>>
>> Hab’ ich da die „LIMIT clause“ (LIMIT-Bedingung?) falsch verstanden?
>> Kann mir das einer von euch Base-Spezis mal erklären (und vielleicht
>> noch die Übersetzung machen ;?)?
>>
>> Danke im Voraus und noch einen schönen Abend
>> Thomas.
>>
> 
> 
> 


-- 
## Unterstützung der freien Office Suite
## http://de.libreOffice.org  - www.LibreOffice.org
## Vorstand Freies Office Deutschland e.V.
## Mitglieder willkommen: www.FroDeV.org

-- 
Liste abmelden mit E-Mail an: discuss+unsubscr...@de.libreoffice.org
Probleme? 
http://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/
Tipps zu Listenmails: http://wiki.documentfoundation.org/Netiquette/de
Listenarchiv: http://listarchives.libreoffice.org/de/discuss/
Alle E-Mails an diese Liste werden unlöschbar öffentlich archiviert

Antwort per Email an