Abfragen nach Zahlenspannen

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

franzischade
Beiträge: 4
Registriert: Mo, 11.11.2013 14:38

Abfragen nach Zahlenspannen

Beitrag von franzischade »

Hallo!
Ich hab noch nicht wirklich viel Ahnung von Datenbanken, aber ich versuche im Moment meine (Brett-)Spielesammlung in eine solche zu packen, sodass man dann nach bestimmten Kriterien nach Spielen suchen kann. Wenn ich jetzt aber z.B. als ein Feld die Dauer eines Spieles habe und in der Abfrage nach einer Spanne an Zeit (z.B. 30-60 min) suchen will, was muss ich dann eingeben. gleiches Problem tritt auch mit den Spielern auf.
Vielen Dank für Eure Hilfe!
F3K Total
********
Beiträge: 3720
Registriert: Mo, 28.02.2011 17:49

Re: Abfragen nach Zahlenspannen

Beitrag von F3K Total »

Hi,
prinzipiell etwa so:

Code: Alles auswählen

Select * from "Tabelle" where "Dauer" >=30 AND "Dauer" <=60
Gruß R
RobertG
********
Beiträge: 2067
Registriert: Fr, 13.04.2012 19:28
Kontaktdaten:

Re: Abfragen nach Zahlenspannen

Beitrag von RobertG »

Hallo franzischade,

grundsätzlich ist für die Anfrage von solchen "Spannen" das Schlüsselwort "BETWEEN" verantwortlich.
Angenommen, Du erstellst eine Abfrage im grafischen Modus. Gib einfach in der Spalte, in der Du eine Begrenzung vornehmen willst (z.B. "Spielzeit"), unter "Kriterium"
Zwischen 30 und 45
ein. In SQL macht Base daraus
BETWEEN 30 AND 45
Das kann natürlich nur dann wirksam etwas finden, wenn es sich um Zahlenfelder handelt.
Jetzt willst Du vielleicht noch die Abfrage flexibel haben.
Mit
ZWISCHEN :Start UND :Ziel
bekommst Du eine Parameterabfrage hin.
In SQL sieht so eine Abfrage dann so aus:

Code: Alles auswählen

SELECT "Spiel", "Spielzeit" FROM "Tabelle" WHERE "Spielzeit" BETWEEN :Start AND :Ziel
Ansonsten ruhig einmal im Base-Handbuch etwas lesen - natürlich Kapitel "Abfragen".

Gruß

Robert
franzischade
Beiträge: 4
Registriert: Mo, 11.11.2013 14:38

Re: Abfragen nach Zahlenspannen

Beitrag von franzischade »

sehr cool! Vielen Dank!!
Bleibt noch die Frage, wie ich die Spielerzahl in die Tabelle eintragen muss. das ist ja meist variabel (also z.B. 2-4). Wenn ich jeden Wert durch Komma getrennt eingebe, checkt er das nicht. Wie mache ich das am besten, dass er mir auch da bei er Abfrage z.B nach 2 Spielern das Spiel mit 2-4 Spielern ausgibt?
RobertG
********
Beiträge: 2067
Registriert: Fr, 13.04.2012 19:28
Kontaktdaten:

Re: Abfragen nach Zahlenspannen

Beitrag von RobertG »

Hallo franzischade,

mach' für die Spielerzahl zwei Felder: Spieler_Min und Spieler_Max.
Besser vorher bei den Tabellen rechtzeitig trennen als nachher die Probleme mit viel Aufwand umschiffen.

Gruß

Robert
franzischade
Beiträge: 4
Registriert: Mo, 11.11.2013 14:38

Re: Abfragen nach Zahlenspannen

Beitrag von franzischade »

Und wie frage ich das dann am besten ab? Wenn ich als Bsp. bei einem Spiel Spieler Min 2 und Spieler Max 4 habe und dann nach 3 Spielern suche.
Sorry für meine etwas dummen Fragen, aber ich hab halt echt wenig Ahnung davon... :S
F3K Total
********
Beiträge: 3720
Registriert: Mo, 28.02.2011 17:49

Re: Abfragen nach Zahlenspannen

Beitrag von F3K Total »

So?

Code: Alles auswählen

SELECT "Spiel", "Spielzeit", "Spieler_Min", "Spieler_Max" FROM "Tabelle" WHERE :Spielerzahl >= "Spieler_Min"  AND :Spielerzahl <= Spieler_Max 
Gruß R
franzischade
Beiträge: 4
Registriert: Mo, 11.11.2013 14:38

Re: Abfragen nach Zahlenspannen

Beitrag von franzischade »

Ja, da drauf war ich tatsächlich jetzt auch schon gekommen :) Vielen dank für Eure Hilfe!!
Antworten