Abfrage durch Eingabe der Kalenderwoche

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

Anfaenger2010
Beiträge: 7
Registriert: Fr, 05.03.2010 08:23

Abfrage durch Eingabe der Kalenderwoche

Beitrag von Anfaenger2010 »

Hallo Leute,
ich habe ein kleines Problem und hoffe ihr könnt mir helfen.

Ich habe eine Tabelle mit den Spalten: BuchungsID, Name, testDate, Einsender. nun möchte ich eine Abfrage erstellen, bei der ich nur noch die Kalenderwoche eingeben muss(bezogen auf testDAte) und dann alle Datensätze ausgegeben werden die in dieser KW getestet wurden.

Bis jetzt hab ich es im Kriterium mit dem Befehl: ZWISCHEN :Anfangsdatum UND :Enddatum gemacht, was mir auf Dauer aber zu lange dauert immer zweimal das ganze Datum einzugeben.
Auch Anfänger haben ein Recht auf Informationen
---
Ubuntu 9.10
Gnome 2.28.1
Kernel 2.6.31-19
Openoffice 3
AMD Sempron 2200+
AndreasJBittner
*****
Beiträge: 473
Registriert: Fr, 09.10.2009 16:44
Wohnort: Bielefeld
Kontaktdaten:

Re: Abfrage durch Eingabe der Kalenderwoche

Beitrag von AndreasJBittner »

Hi,

Du brauchst dann wohl eine Tabelle der Art

KW - Datum1 - Datum2
1 01.01. 07.01.
2 ........

auf die Du Dich dann beziehst. In Deiner Abfrage steht dann eine Sub-Abfrage (SELECT Datum1, Datum2 WHERE KW=<Deine Vorgabe>).

Grüße
Andreas
LO 4.3
AMD Athlon 64 3700+, 2.21 GHz, 4 GB RAM, Win XP SP3
iMac 2 GHz, 16 GB RAM/MacBookPro, 8 GB RAM, Mac OS X 10.9.5
Intel Core2 Quad CPU Q6600 @ 2,4 GHz, 4 GB RAM, Suse 13.2

MySQL 5.1: Pentium III, 666 MHz, 512 MB, Suse 12.1
Anfaenger2010
Beiträge: 7
Registriert: Fr, 05.03.2010 08:23

Re: Abfrage durch Eingabe der Kalenderwoche

Beitrag von Anfaenger2010 »

Hallo Andreas,
ersteinmal herzlichen Dank für die Antwort.

Da ich mich erst seit kurzem mit dieser Thematik beschäftige, habe ich ein kleies "Verständigungsproblem"

Du meinst also, ich müsste in meine Tabelle noch 2 Spalten zufügen KW und Datum2 richtig?

Spalte KW - wird berechnet - ok

aber datum2 , wenn ich dort ein Datum eingeben muss, bin ich wieder genauso schnell.

Für eine Erläuterung wäre ich echt dankbar.

Michael
Auch Anfänger haben ein Recht auf Informationen
---
Ubuntu 9.10
Gnome 2.28.1
Kernel 2.6.31-19
Openoffice 3
AMD Sempron 2200+
DPunch
*******
Beiträge: 1112
Registriert: Mo, 02.11.2009 16:16
Wohnort: Marburg

Re: Abfrage durch Eingabe der Kalenderwoche

Beitrag von DPunch »

Aloha
AndreasJBittner hat geschrieben:Du brauchst dann wohl eine Tabelle der Art (...) auf die Du Dich dann beziehst. In Deiner Abfrage steht dann eine Sub-Abfrage (SELECT Datum1, Datum2 WHERE KW=<Deine Vorgabe>).
Warum nicht einfach

SELECT * FROM "meineTabelle" WHERE WEEK("testDate") = :Kalenderwoche

?
Anfaenger2010
Beiträge: 7
Registriert: Fr, 05.03.2010 08:23

Re: Abfrage durch Eingabe der Kalenderwoche

Beitrag von Anfaenger2010 »

wäre eine einfache Variante, aber da bekomme ich eine Syntay Fehlermeldung.

SELECT "BookingID" AS "BookingID", "Fullname" AS "Fullname", "testDate" AS "testDate", "Therapeut" AS "Therapeut" FROM "Tabelle1" AS "Tabelle1" ORDER BY "testDate" ASC, "Therapeut" ASC, "BookingID" ASC
SELECT * FROM "Tabelle1" WHERE WEEK("testDate") = :Kalenderwoche

Oder hab ich da was falsch eingetragen?
Auch Anfänger haben ein Recht auf Informationen
---
Ubuntu 9.10
Gnome 2.28.1
Kernel 2.6.31-19
Openoffice 3
AMD Sempron 2200+
DPunch
*******
Beiträge: 1112
Registriert: Mo, 02.11.2009 16:16
Wohnort: Marburg

Re: Abfrage durch Eingabe der Kalenderwoche

Beitrag von DPunch »

Anfaenger2010 hat geschrieben:Oder hab ich da was falsch eingetragen?
Du darfst die beiden SQL-Anweisungen natürlich nicht einfach so hintereinanderklatschen ;)

SELECT
"BookingID" AS "BookingID", "Fullname" AS "Fullname", "testDate" AS "testDate", "Therapeut" AS "Therapeut"
FROM
"Tabelle1" AS "Tabelle1"
ORDER BY
"testDate" ASC, "Therapeut" ASC, "BookingID" ASC
WHERE
WEEK("testDate") = :Kalenderwoche

Wäre die funktionierende Variante.
Anfaenger2010
Beiträge: 7
Registriert: Fr, 05.03.2010 08:23

Re: Abfrage durch Eingabe der Kalenderwoche

Beitrag von Anfaenger2010 »

herzlichen Dank, ich hab jetzt mal deine SQL kopiert und bekomme immernoch eine Fehlermeldung.
Syntax error in SQL expression

Idee ?
Auch Anfänger haben ein Recht auf Informationen
---
Ubuntu 9.10
Gnome 2.28.1
Kernel 2.6.31-19
Openoffice 3
AMD Sempron 2200+
DPunch
*******
Beiträge: 1112
Registriert: Mo, 02.11.2009 16:16
Wohnort: Marburg

Re: Abfrage durch Eingabe der Kalenderwoche

Beitrag von DPunch »

Ähhhm, klar. :oops:

Die WHERE-Klausel muss natürlich vor das ORDER BY.
Hatte die WHERE-Klausel eben einfach ohne groß nachzudenken an Dein SQL-Statement hintendran geklatscht.

SELECT
"BookingID" AS "BookingID", "Fullname" AS "Fullname", "testDate" AS "testDate", "Therapeut" AS "Therapeut"
FROM
"Tabelle1" AS "Tabelle1"
WHERE
WEEK("testDate") = :Kalenderwoche
ORDER BY
"testDate" ASC, "Therapeut" ASC, "BookingID" ASC
pmoegenb
********
Beiträge: 4330
Registriert: Di, 22.06.2004 12:02
Wohnort: 71134 Aidlingen
Kontaktdaten:

Re: Abfrage durch Eingabe der Kalenderwoche

Beitrag von pmoegenb »

Code: Alles auswählen

SELECT
"BookingID", "Fullname", "testDate", "Therapeut"
FROM "Tabelle1"
WHERE WEEK("testDate") = :Kalenderwoche
ORDER BY "testDate" ASC, "Therapeut" ASC, "BookingID" ASC
- Den Zusatz AS "BookingID" etc. kannst Du weglassen, wenn der Als-Name gleich dem Feldnamen ist.
- Den Tabellennamen kannst Du nicht umbenennen
- Die WHERE-Klausel muss vor der ORDER BY-Klausel stehen
Gruß

Peter
---------------------------------------------------------------------------
Windows 7 Prof. 64-bit SP1, LibreOffice 4.3.6.2 und AOO 4.1.1
Anfaenger2010
Beiträge: 7
Registriert: Fr, 05.03.2010 08:23

Re: Abfrage durch Eingabe der Kalenderwoche

Beitrag von Anfaenger2010 »

KLASSE!!

herzlichen DANK

funktioniert :D
Auch Anfänger haben ein Recht auf Informationen
---
Ubuntu 9.10
Gnome 2.28.1
Kernel 2.6.31-19
Openoffice 3
AMD Sempron 2200+
Anfaenger2010
Beiträge: 7
Registriert: Fr, 05.03.2010 08:23

Re: Abfrage durch Eingabe der Kalenderwoche

Beitrag von Anfaenger2010 »

Jetzt nur noch eine Frage.
Wie bekomme ich die Buchungen vom aktuellem Jahr?
So werden mir alle Jahre aufgelistet.
Auch Anfänger haben ein Recht auf Informationen
---
Ubuntu 9.10
Gnome 2.28.1
Kernel 2.6.31-19
Openoffice 3
AMD Sempron 2200+
DPunch
*******
Beiträge: 1112
Registriert: Mo, 02.11.2009 16:16
Wohnort: Marburg

Re: Abfrage durch Eingabe der Kalenderwoche

Beitrag von DPunch »

SELECT
"BookingID" AS "BookingID", "Fullname" AS "Fullname", "testDate" AS "testDate", "Therapeut" AS "Therapeut"
FROM
"Tabelle1" AS "Tabelle1"
WHERE
WEEK("testDate") = :Kalenderwoche AND YEAR("testDate") = YEAR(NOW())
ORDER BY
"testDate" ASC, "Therapeut" ASC, "BookingID" ASC
Anfaenger2010
Beiträge: 7
Registriert: Fr, 05.03.2010 08:23

Re: Abfrage durch Eingabe der Kalenderwoche

Beitrag von Anfaenger2010 »

ja, klar
Danke nochmals.
Auch Anfänger haben ein Recht auf Informationen
---
Ubuntu 9.10
Gnome 2.28.1
Kernel 2.6.31-19
Openoffice 3
AMD Sempron 2200+
F3K Total
********
Beiträge: 3720
Registriert: Mo, 28.02.2011 17:49

Re: Abfrage durch Eingabe der Kalenderwoche

Beitrag von F3K Total »

Hallo,
versuche es doch mal so:

Code: Alles auswählen

SELECT * FROM "Montagefehler Gesamt" WHERE WEEK( "Datum" ) = WEEK( NOW( ) )-1  AND YEAR( "Datum" ) = YEAR( NOW( ) )
Gruß R
Antworten