[gelöst]Inhalte eines bestimmten alters
Moderator: Moderatoren
[gelöst]Inhalte eines bestimmten alters
Access Kriterium: Zwischen Datum()-365 Und Datum()
ergibt bei mir alle rechnungen aus den letzten 365 Tagen
ich hab nun schon mit CURDATE() DATE() , NOW() TODAY() und SUBDATE() versucht , aber stets fehler in der Syntax.
Base ist aber leider stets sparsam in den Fehlermeldungen und somit ist mir auch nicht begreiflich wo was zu ändern wäre.
MySQL Doku sagt aber leider auch nicht viel und alle Beispiele verlaufen auch im Sand
ergibt bei mir alle rechnungen aus den letzten 365 Tagen
ich hab nun schon mit CURDATE() DATE() , NOW() TODAY() und SUBDATE() versucht , aber stets fehler in der Syntax.
Base ist aber leider stets sparsam in den Fehlermeldungen und somit ist mir auch nicht begreiflich wo was zu ändern wäre.
MySQL Doku sagt aber leider auch nicht viel und alle Beispiele verlaufen auch im Sand
Zuletzt geändert von DeeJay am Mo, 01.09.2008 13:21, insgesamt 1-mal geändert.
oOO 2.4.1
Windows 2000 /Kubuntu 8.04
MySQL 5.0.60 (Gentoo Server)
Windows 2000 /Kubuntu 8.04
MySQL 5.0.60 (Gentoo Server)
- komma4
- ********
- Beiträge: 5332
- Registriert: Mi, 03.05.2006 23:29
- Wohnort: Chon Buri Thailand Asia
- Kontaktdaten:
Re: Inhalte eines bestimmten alters
Warum sagt Dir die Doku nichts?
MySQL Dokumentation
DATE_SUB(date,INTERVAL expr unit)
WHERE rechnung.datum > DATE_SUB( CURRENT_DATE , INTERVAL 365 DAY )
MySQL Dokumentation
DATE_SUB(date,INTERVAL expr unit)
WHERE rechnung.datum > DATE_SUB( CURRENT_DATE , INTERVAL 365 DAY )
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Re: Inhalte eines bestimmten alters
SELECT `tbl_Rechnungen`.`Nettosumme` AS `Umsatz je Kunde`, `tbl_Rechnungen`.`LfdAdrNr`, `tbl_Adressen`.`Matchcode`
FROM `wzdb`.`tbl_Rechnungen` AS `tbl_Rechnungen`, `wzdb`.`tbl_Adressen` AS `tbl_Adressen`
WHERE `tbl_Rechnungen`.`LfdAdrNr` = `tbl_Adressen`.`LfdAdrNr` AND `tbl_Rechnungen`.`ReDatum` > DATE_SUB( CURRENT_DATE , INTERVAL 365 DAY )
wenn das so aussieht gehts nicht :/
sollte vllt dazu sagen das ich ne alte access db habe und die ganzen sachen jetzt neu in base zusammenklicke
EDIT:
SELECT `tbl_Rechnungen`.`Nettosumme` AS `Umsatz je Kunde`, `tbl_Rechnungen`.`LfdAdrNr`, `tbl_Adressen`.`Matchcode`
FROM `wzdb`.`tbl_Rechnungen` AS `tbl_Rechnungen`, `wzdb`.`tbl_Adressen` AS `tbl_Adressen`
WHERE `tbl_Rechnungen`.`LfdAdrNr` = `tbl_Adressen`.`LfdAdrNr` AND `tbl_Rechnungen`.`ReDatum` > ' DATE_SUB( CURRENT_DATE , INTERVAL 365 DAY )'
mit ' ' gehts
FROM `wzdb`.`tbl_Rechnungen` AS `tbl_Rechnungen`, `wzdb`.`tbl_Adressen` AS `tbl_Adressen`
WHERE `tbl_Rechnungen`.`LfdAdrNr` = `tbl_Adressen`.`LfdAdrNr` AND `tbl_Rechnungen`.`ReDatum` > DATE_SUB( CURRENT_DATE , INTERVAL 365 DAY )
wenn das so aussieht gehts nicht :/
sollte vllt dazu sagen das ich ne alte access db habe und die ganzen sachen jetzt neu in base zusammenklicke
EDIT:
SELECT `tbl_Rechnungen`.`Nettosumme` AS `Umsatz je Kunde`, `tbl_Rechnungen`.`LfdAdrNr`, `tbl_Adressen`.`Matchcode`
FROM `wzdb`.`tbl_Rechnungen` AS `tbl_Rechnungen`, `wzdb`.`tbl_Adressen` AS `tbl_Adressen`
WHERE `tbl_Rechnungen`.`LfdAdrNr` = `tbl_Adressen`.`LfdAdrNr` AND `tbl_Rechnungen`.`ReDatum` > ' DATE_SUB( CURRENT_DATE , INTERVAL 365 DAY )'
mit ' ' gehts

oOO 2.4.1
Windows 2000 /Kubuntu 8.04
MySQL 5.0.60 (Gentoo Server)
Windows 2000 /Kubuntu 8.04
MySQL 5.0.60 (Gentoo Server)
Re: Inhalte eines bestimmten alters
ok muss mich korrigieren geht doch nicht 
er gibt dann halt alles aus was an rechnungen in der db steht und nicht nur die aus dem letzten jahr

er gibt dann halt alles aus was an rechnungen in der db steht und nicht nur die aus dem letzten jahr
oOO 2.4.1
Windows 2000 /Kubuntu 8.04
MySQL 5.0.60 (Gentoo Server)
Windows 2000 /Kubuntu 8.04
MySQL 5.0.60 (Gentoo Server)
Re: Inhalte eines bestimmten alters
Ok also ich hab jetzt noch weiter probiert aber der gibt mir egal was ich tue nicht die Rechnungen
Zwischen Heute und vor einem Jahr aus
SELECT `tbl_Rechnungen`.`Nettosumme` AS `Umsatz je Kunde`, `tbl_Rechnungen`.`LfdAdrNr`, `tbl_Adressen`.`Matchcode` FROM `wzdb`.`tbl_Rechnungen` AS `tbl_Rechnungen`, `wzdb`.`tbl_Adressen` AS `tbl_Adressen` WHERE `tbl_Rechnungen`.`LfdAdrNr` = `tbl_Adressen`.`LfdAdrNr` AND `tbl_Rechnungen`.`ReDatum` > ' BETWEEN CURDATE -365 DAY AND CURDATE ' ORDER BY `tbl_Rechnungen`.`Nettosumme` DESC
habs nun auf diese abfrage geändert , es kommt keine fehlermeldung , aber auch die falsche ausgabe , es wird halt alles angezeigt und nicht das aus dem bestimmten zeitraum
Zwischen Heute und vor einem Jahr aus

SELECT `tbl_Rechnungen`.`Nettosumme` AS `Umsatz je Kunde`, `tbl_Rechnungen`.`LfdAdrNr`, `tbl_Adressen`.`Matchcode` FROM `wzdb`.`tbl_Rechnungen` AS `tbl_Rechnungen`, `wzdb`.`tbl_Adressen` AS `tbl_Adressen` WHERE `tbl_Rechnungen`.`LfdAdrNr` = `tbl_Adressen`.`LfdAdrNr` AND `tbl_Rechnungen`.`ReDatum` > ' BETWEEN CURDATE -365 DAY AND CURDATE ' ORDER BY `tbl_Rechnungen`.`Nettosumme` DESC
habs nun auf diese abfrage geändert , es kommt keine fehlermeldung , aber auch die falsche ausgabe , es wird halt alles angezeigt und nicht das aus dem bestimmten zeitraum
oOO 2.4.1
Windows 2000 /Kubuntu 8.04
MySQL 5.0.60 (Gentoo Server)
Windows 2000 /Kubuntu 8.04
MySQL 5.0.60 (Gentoo Server)
- komma4
- ********
- Beiträge: 5332
- Registriert: Mi, 03.05.2006 23:29
- Wohnort: Chon Buri Thailand Asia
- Kontaktdaten:
Re: Inhalte eines bestimmten alters
DeeJay,
bin mir ziemlich sicher, dass die Anführungszeichen falsch sind, und die BETWEEN-Angabe ist syntaktisch auch nicht richtig.
Wenn ich heute mal etwas Zeit habe probiere ich es aus (habe zufällig 'nen MySQL-Server dabei)...
bin mir ziemlich sicher, dass die Anführungszeichen falsch sind, und die BETWEEN-Angabe ist syntaktisch auch nicht richtig.
Wenn ich heute mal etwas Zeit habe probiere ich es aus (habe zufällig 'nen MySQL-Server dabei)...
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
- komma4
- ********
- Beiträge: 5332
- Registriert: Mi, 03.05.2006 23:29
- Wohnort: Chon Buri Thailand Asia
- Kontaktdaten:
Re: Inhalte eines bestimmten alters
also, was hier geht ist bspw. die Abfrage:
Der Vergleich mit einer als Datetime definierter Spalte funktioniert auch, also:
Code: Alles auswählen
SELECT DATE_SUB( CURRENT_DATE, INTERVAL 365 DAY ) FROM rechnung
Der Vergleich mit einer als Datetime definierter Spalte funktioniert auch, also:
Code: Alles auswählen
... WHERE dt_created < DATE_SUB( CURRENT_DATE, INTERVAL 180 DAY )
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Re: Inhalte eines bestimmten alters
Code: Alles auswählen
CREATE TABLE IF NOT EXISTS `tbl_Rechnungen` (
`LfdReNr` int(11) default NULL,
`LfdAdrNr` int(11) default NULL,
`ReDatum` datetime default NULL,
`Nettosumme` double default NULL,
`EingangsDatum` datetime default NULL,
`EingangsKontoauszug` varchar(50) collate latin1_german1_ci default NULL,
`Mahnstufe` smallint(6) default NULL,
`Bruttosumme` double default NULL,
`Bemerkung` varchar(50) collate latin1_german1_ci default NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_german1_ci;
Code: Alles auswählen
CREATE TABLE IF NOT EXISTS `tbl_Adressen` (
`LfdAdrNr` int(11) default NULL,
`Matchcode` varchar(20) collate latin1_german1_ci default NULL,
`Firma1` varchar(50) collate latin1_german1_ci default NULL,
`Postfach` varchar(8) collate latin1_german1_ci default NULL,
`Strasse` varchar(40) collate latin1_german1_ci default NULL,
`PLZPo` varchar(5) collate latin1_german1_ci default NULL,
`PLZ` varchar(5) collate latin1_german1_ci default NULL,
`Ort` varchar(40) collate latin1_german1_ci default NULL,
`Land` varchar(5) collate latin1_german1_ci default NULL,
`Branche` varchar(10) collate latin1_german1_ci default NULL,
`KLASSIFIK` float default NULL,
`VERTRETUNG` varchar(20) collate latin1_german1_ci default NULL,
`Rabatt` float default NULL,
`Firma2` varchar(50) collate latin1_german1_ci default NULL,
`Kontaktzyklus` int(11) default NULL,
`KontaktNeu` datetime default NULL,
`Ursprung` varchar(20) collate latin1_german1_ci default NULL,
`Zahlungen` int(11) default NULL,
`Umsatzab94` float default NULL,
`Waehrung` varchar(20) collate latin1_german1_ci default NULL,
`GehoertZuAdresse` int(11) default NULL,
`UeberlieferungErlaubt` bit(1) default NULL,
`Poster` bit(1) default NULL,
`Buchhaltung` varchar(15) collate latin1_german1_ci default NULL,
`Lieferantennummer` varchar(20) collate latin1_german1_ci default NULL,
`UStIDNr` varchar(20) collate latin1_german1_ci default NULL,
`BeiAngebotenBeachten` longtext collate latin1_german1_ci,
`BeiAuftraegenBeachten` longtext collate latin1_german1_ci,
`Info` longtext collate latin1_german1_ci,
`Homepage` varchar(50) collate latin1_german1_ci default NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_german1_ci;
und dann soll das mit den rechnungen rauskommen ...
- Dateianhänge
-
- db2.jpg (122.18 KiB) 853 mal betrachtet
oOO 2.4.1
Windows 2000 /Kubuntu 8.04
MySQL 5.0.60 (Gentoo Server)
Windows 2000 /Kubuntu 8.04
MySQL 5.0.60 (Gentoo Server)
- komma4
- ********
- Beiträge: 5332
- Registriert: Mi, 03.05.2006 23:29
- Wohnort: Chon Buri Thailand Asia
- Kontaktdaten:
Re: Inhalte eines bestimmten alters
was kommt denn raus, wenn Du die Einschränkung nach Zeit weg lässt:
Wenn diese Abfrage richtig formuliert ist müsstest Du ein Ergebnis bekommen.
und was, wenn die Einschränkung -ohne die Hochkomma- ergänzt wird:
[co
Code: Alles auswählen
SELECT `tbl_Rechnungen`.`Nettosumme` AS `Umsatz je Kunde`, `tbl_Rechnungen`.`LfdAdrNr`, `tbl_Adressen`.`Matchcode`
FROM `wzdb`.`tbl_Rechnungen` AS `tbl_Rechnungen`, `wzdb`.`tbl_Adressen` AS `tbl_Adressen`
WHERE `tbl_Rechnungen`.`LfdAdrNr` = `tbl_Adressen`.`LfdAdrNr`
und was, wenn die Einschränkung -ohne die Hochkomma- ergänzt wird:
[co
Code: Alles auswählen
ECT `tbl_Rechnungen`.`Nettosumme` AS `Umsatz je Kunde`, `tbl_Rechnungen`.`LfdAdrNr`, `tbl_Adressen`.`Matchcode`
FROM `wzdb`.`tbl_Rechnungen` AS `tbl_Rechnungen`, `wzdb`.`tbl_Adressen` AS `tbl_Adressen`
WHERE `tbl_Rechnungen`.`LfdAdrNr` = `tbl_Adressen`.`LfdAdrNr` AND `tbl_Rechnungen`.`ReDatum` > DATE_SUB( CURRENT_DATE , INTERVAL 365 DAY )
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Re: Inhalte eines bestimmten alters
der 1. von beiden codes geht , aber es ergibt sich das selbe wie vorher , er zeigt alles
der 2. code sagt syntax fehler
der 2. code sagt syntax fehler
oOO 2.4.1
Windows 2000 /Kubuntu 8.04
MySQL 5.0.60 (Gentoo Server)
Windows 2000 /Kubuntu 8.04
MySQL 5.0.60 (Gentoo Server)
- komma4
- ********
- Beiträge: 5332
- Registriert: Mi, 03.05.2006 23:29
- Wohnort: Chon Buri Thailand Asia
- Kontaktdaten:
Re: Inhalte eines bestimmten alters
Tja, würde mal sagen: Pech gehabt ( => könnte ein Ticket sein ).
In StarBasic geht die Abfrage - auch unter Nutzung der Date_Sub()-Funktion.
Im Abfrage-Designer erhalte ich auch:
Das könnte auch der Treiber (hier: JDBC) sein, der es nicht zulässt.
In StarBasic geht die Abfrage - auch unter Nutzung der Date_Sub()-Funktion.
Im Abfrage-Designer erhalte ich auch:
Code: Alles auswählen
SQL-Status: HY000
Fehler-Code: 1000
syntax error, unexpected $end, expecting BETWEEN or IN or SQL_TOKEN_LIKE
Das könnte auch der Treiber (hier: JDBC) sein, der es nicht zulässt.
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Re: Inhalte eines bestimmten alters
ok ich nutze odbc bzw unixodbc zum verbinden
und nur um es zu verstehen
es ist nen bug/ nicht möglich /absoluter denkfehler?
immerhin läuft die alte "Datenbank" unter Access 97 hier
und nur um es zu verstehen
es ist nen bug/ nicht möglich /absoluter denkfehler?
immerhin läuft die alte "Datenbank" unter Access 97 hier
oOO 2.4.1
Windows 2000 /Kubuntu 8.04
MySQL 5.0.60 (Gentoo Server)
Windows 2000 /Kubuntu 8.04
MySQL 5.0.60 (Gentoo Server)
- komma4
- ********
- Beiträge: 5332
- Registriert: Mi, 03.05.2006 23:29
- Wohnort: Chon Buri Thailand Asia
- Kontaktdaten:
Re: Inhalte eines bestimmten alters
Aktiviere mal in der SQL-Ansicht unter Bearbeiten>SQL-Kommando direkt ausführen!
(der Schalter war hier mal eingestellt - weiss der Kuckuck, warum der weg war.
Damit klappt die Abfrage hier (JDBC):
War es der Schalter?
(der Schalter war hier mal eingestellt - weiss der Kuckuck, warum der weg war.
Damit klappt die Abfrage hier (JDBC):
Code: Alles auswählen
WHERE `rechnung`.`datum` > DATE_SUB( CURRENT_DATE, INTERVAL 365 DAY)
War es der Schalter?
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Re: Inhalte eines bestimmten alters
juhu
so tut es
wobei ich das vermutlich das SQL ausführen wohl der einzigste fehler war *hmpf*
Code: Alles auswählen
SELECT `tbl_Rechnungen`.`Nettosumme` AS `Umsatz je Kunde`, `tbl_Rechnungen`.`LfdAdrNr`, `tbl_Adressen`.`Matchcode`
FROM `wzdb`.`tbl_Rechnungen` AS `tbl_Rechnungen`, `wzdb`.`tbl_Adressen` AS `tbl_Adressen`
WHERE `tbl_Rechnungen`.`LfdAdrNr` = `tbl_Adressen`.`LfdAdrNr` AND `tbl_Rechnungen`.`ReDatum` > DATE_SUB( CURRENT_DATE, INTERVAL 365 DAY) ORDER BY `tbl_Rechnungen`.`Nettosumme` DESC

wobei ich das vermutlich das SQL ausführen wohl der einzigste fehler war *hmpf*
oOO 2.4.1
Windows 2000 /Kubuntu 8.04
MySQL 5.0.60 (Gentoo Server)
Windows 2000 /Kubuntu 8.04
MySQL 5.0.60 (Gentoo Server)