Seite 1 von 1

einfache Tabellenabfrage

Verfasst: Mo, 12.11.2007 06:28
von WorstCases
Hallo Leute.

Ich mache gerade die Ersten Krabbel´versuche mit Datenbanken und Base.

Ich habe mir in Base eine Tabelle angelegt (Mitarbeiter) mit 2 Spalten:
ID (Auto-Increment), Feldtyp Integer
Mitarbeiter-Nummer (MA-Nummer), Feldtyp Tinyint.

Vorgehensweise: Wenn ein Mirarbeiter einen Verkauf tätigt, gebe ich seine MA-Nummer in die Tabelle ein. OO Base vergibt dann automatisch eine neue, höhere ID.

Wie kann ich folgende Abfragen realisieren:
1. Ich möchte eine gewisse Anzahl (z.B. 10) Mitarbeiter finden, die am längsten keine Verkäufe gemacht haben.
2. Ich möchte eine gewisse Anzahl (z.B. 10) Mitarbeiter finden, die insgesamt am meißten Verkäufe gemacht haben.

Ich weiß, dass mein Anliegen eventuell anders besser gelöst werden könnte. Aus bestimmten Gründen möchte ich es aber genau so versuchen und benötige dazu Tipps. Es sind wie gesagt die ersten Krabbelversuche!

Danke und Gruß.
WorstCases

Re: einfache Tabellenabfrage

Verfasst: Di, 13.11.2007 10:49
von WorstCases
Kann mir denn niemand helfen oder ist meine Frage zu ungenau oder unverständlich?

Bin ich hier fur solche Dummy-Fragen an der falschen Stelle? Wo soll ich hingehen/nachschauen?

Gruß.
WorstCases

Re: einfache Tabellenabfrage

Verfasst: Di, 13.11.2007 11:45
von pmoegenb
Hallo WorstCases,

Aufgrund der spärlichen Angaben in der Datenbanktabelle kannst Du nur Zählen, wie oft eine Mitarbeiter-Nummer in der Tabelle auftaucht.

Hier ein Beispiel:

Code: Alles auswählen

SELECT COUNT(*) AS "Anzahl" FROM "TABELLE" GROUP BY "MA-NUMMER" ORDER BY "MA-NUMMER"

Re: einfache Tabellenabfrage

Verfasst: Di, 13.11.2007 19:50
von WorstCases
Danke für die Antwort. Der Ansatz ist sehr hilfreich.

Aber ich will nicht die Anzahl der Verkäufe/Mitarbeiter sehen (zumindest nicht alleine).

Ich benötige:
die 10 Mitarbeiter, die zuletzt verkauf haben
die 10 Mitarbeiter, die am längsten nicht verkauft haben

Ich dachte, dass ich mir einen Timestamp ersparen kann, da ich nicht das Verkaufsdatum selber benötige. Um lediglich die neusten und ältesten Verkäufe zu fildern müsste mit die ID, die ja AutoIncrement ist helfen können. Größere ID=neuer, kleinere ID=älter.
Ist dieser Ansatz falsch?

Falls ich zwingend mit einem Timestamp arbeiten muss:
Ich kann bei Feldtyp Timestamp auswählen, finde aber nirgends die Option, dass der Timestamp automatisch eingetragen wird (AutoTimestamp oder so ähnlich). Wie lässt sich das realisieren?

Gruß.
WorstCases