Daten sortieren mit Kriterien

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

Neujuenger2010
**
Beiträge: 20
Registriert: Mo, 25.10.2010 18:31

Re: Daten sortieren mit Kriterien

Beitrag von Neujuenger2010 »

sloopywoo1 hat geschrieben:Guten Tag zusammen,

[....]
Ich schaffe es zu sortieren nach neustem Datum, kann aber nicht die Kriterien aktiv und Geschlecht einbinden.

Vielen Dank für die Hilfe im Voraus
Ich verstehe (glaub ich wenigstens), was Du erreichen möchtest. Leider nicht, wo genau momentan Dein(e) Problem(e) liegt.

Wo/wie sortiertst Du? Wo klappt die Einbindung von aktiv/Geschlecht nicht? Bei der Sortierung? Oder hakt es da schon bei der Abfrage?

Kannst Du mal Deine Abfrage hier reinkopieren und dazu Dein Problem etwas genauer beschreiben?
Gruss Neujuenger2010

OOo 3.2.1 auf Vista
Neujuenger2010
**
Beiträge: 20
Registriert: Mo, 25.10.2010 18:31

Re: Daten sortieren mit Kriterien

Beitrag von Neujuenger2010 »

Hi!

Obacht: Ich bin selbst blutiger Anfänger und hab mir Dein Problem mal quasi als "Übungsaufgabe" gestellt.

Das kam dabei raus:

Code: Alles auswählen

Select
	"Einkauf"."Name",
	"Einkauf"."Einkaufsdatum",
	"Einkauf"."Einkauf"
From
	"Einkauf"
join
(SELECT "Einkauf"."Name", Max("Einkauf"."Einkaufsdatum") as LetzterEinkauf
	FROM "Einkauf" 
	GROUP BY "Einkauf"."Name" )
on "Einkauf"."Einkaufsdatum" = LetzterEinkauf

join "Kundendaten" on "Kundendaten"."Name" = "Einkauf"."Name"

where "Kundendaten"."Aktiv" = true and "Kundendaten"."Geschlecht" = 'männlich'
In der letzten Zeile hinter "where" kannst Du nun beliebig Deine Bedingungen setzen.

Was mir aufgefallen ist:

Ich würde

a)
In der Tabelle "Kundendaten" nicht den Namen als Primärschlüssel setzen. Es kann ja durchaus mehrere "Mustermann" (Herr und Frau) geben.
Ich würde da einfach ein weiteres Feld "Kundennummer" einfügen, automatisch füllen lassen und das dann als Primärschlüssel setzen.

b)
In der Tabelle "Einkauf" würd ich dann nicht den Namen reinschreiben, sondern eine Verknüpfung über die Kundennummer auf Tabelle "Kundendaten" setzen.
In Deiner jetzigen Form bekommst Du ein Problem, wenn Du Herrn "Mustermann" einmal als "Musterman" (fehlendes "n") und einmal als "Mustermann" in der Tabelle "Einkauf" erfasst. Der taucht dann doppelt in der Abfrage auf.

hth
Gruss Neujuenger2010

OOo 3.2.1 auf Vista
DPunch
*******
Beiträge: 1112
Registriert: Mo, 02.11.2009 16:16
Wohnort: Marburg

Re: Daten sortieren mit Kriterien

Beitrag von DPunch »

Aloha

Schau mal, ob Du mit dem Code zurande kommst:

Code: Alles auswählen

SELECT
	"a"."Name",
	"a"."Einkaufsdatum",
	"a"."Einkauf" 
FROM 
	"Einkauf" "a", "Kundendaten" 
WHERE
	"a"."Name" = "Kundendaten"."Name" 
	AND "Kundendaten"."Aktiv" = TRUE //oder 'ja', wenn Du kein Boolean-Feld (ja/nein), sondern einen String darin unterbringst
	AND "Kundendaten"."Geschlecht" = 'männlich'
	AND "a"."Einkaufsdatum" = (SELECT MAX("Einkaufsdatum") FROM "Einkauf" WHERE "a"."Name" = "Name")
ORDER BY 
	"Einkaufsdatum" DESC
Neujuenger2010
**
Beiträge: 20
Registriert: Mo, 25.10.2010 18:31

Re: Daten sortieren mit Kriterien

Beitrag von Neujuenger2010 »

sloopywoo1 hat geschrieben:[....]
Leider kommt sofort eine Fehlermeldung bei dem Code von Neujuenger 2010.
[....]
Die Angabe der Fehlermeldung wäre hilfreich.

Wie gehst Du bei der Erstellung der Abfrage mit meinem code vor?

Der Weg wäre:

Neue Abfrage erstellen über "Abfrage in SQL-Ansicht erstellen"

Dann den code reinkopieren UND dann im Entwurfsfenster

"SQL-Kommando direkt ausführen" über den Button oder "Bearbeiten" --> "SQL-Kommando direkt ausführen" aktivieren.

Danach solltest Du die Abfrage speichern und ausführen können. Bei mir funzt es.

Wie groß ist Deine Datenbank (wie viele Datensätze)? Welche Version von OOo nutzt Du?
Gruss Neujuenger2010

OOo 3.2.1 auf Vista
Antworten