Seite 1 von 1

mehrere direkt untereinander liegende Zeilen aus Calc?

Verfasst: So 16. Jun 2013, 10:29
von Anna_Maria_1986
Guten Tag!

Ich würde gerne mittels Abfrage aus einer Calc Tabelle mehrere direkt untereinander befindliche Zeilen herausfiltern. z. B. in der Spalte B der Calc Tabelle steht ein keyword (z. B.: Verschiebung), dass ich für die Abfrage verwende und dann möchte ich zusätzlich noch die direkt darunterliegenden Zeilen (z. B: vier Zeilen) auch in meiner Auswertung haben (hier steht dann kein keyword in Spalte B). Funktioniert sowas prinzipiell? Geordnet sollte dann alles nach der Spalte A, hier steht das Datum.

Danke, mfg anna.

Re: mehrere direkt untereinander liegende Zeilen aus Calc?

Verfasst: So 16. Jun 2013, 11:32
von F3K Total
Hallo,
wenn ich dich richtig verstehe, hast du eine Calc Tabelle als Datenquelle für eine BASE Datei verwendet?
Wenn dem so ist, wird es schwierig, den es stehen nur die nötigsten SQL-Befehle zur Verfügung. Würdest Du die Calc-Daten in eine leere .odb Datei importieren, stünden mehr Befehle zur Verfügung.
Was ginge, wäre das Filtern nach einem bestimmten Keyword, dann müssten aber alle gewünschten Zeilen dieses Wort beinhalten und das Ordnen nach dem Datum. Etwa so:

Code: Alles auswählen

SELECT "Datum", "Keyword" FROM "Tabelle1" Where "Keyword" = 'a' order by "Datum"
oder als Parameterabfrage:

Code: Alles auswählen

SELECT "Datum", "Keyword" FROM "Tabelle1" Where "Keyword" = :qKeyword order by "Datum"
Gruß R

Re: mehrere direkt untereinander liegende Zeilen aus Calc?

Verfasst: So 16. Jun 2013, 17:09
von RobertG
Hallo Anna_Maria_1986

das funktioniert so direkt nicht.
Du müsstest Zuerst einmal feststellen, wie viele Datensätze denn mit Deinem Schlüsselwort zu erwarten sind.

Code: Alles auswählen

SELECT COUNT("key") FROM "Tabelle" WHERE "key" = 'x'
Danach kannst Du dann eine Abfrage laufen lassen, die ein paar mehr als die ermittelten Datensätze anzeigt:

Code: Alles auswählen

SELECT * FROM "Tabelle" WHERE "key" = 'x' OR "key" IS NULL ORDER BY "key" DESC, "Datum" ASC LIMIT 20
"20" würde hier eingetragen, wenn die erste Abfrage 16 ermittelt hat. Dann hättest Du 4 Datensätze mehr angezeigt.
Die Abfrage funktioniert zur Zeit nur im direkten SQL-Modus. Kann also sein, dass sie mit Calc gar nicht funktioniert. Da wird die Version LO 4.1.* Abhilfe schaffen.
Eine direkte Abfrage funktioniert zur Zeit (zumindest mit der HSQLDB) überhaupt nicht.

Gruß

Robert