| | | | |
| |||||||
| Datenbanken SQL und Co |
|
| | LinkBack | Themen-Optionen | Thema bewerten |
| | |
| PHP Code Flüsterer Registriert seit: 21.08.2005 Beiträge: 4682 PHP-Kenntnisse: Fortgeschritten | |
| | |||
| Moderator¹ Registriert seit: 28.03.2010
Beiträge: 7.470
PHP-Kenntnisse: Fortgeschritten ![]() ![]() ![]() ![]() ![]() ![]() ![]() | Zitat:
Zitat:
__________________ RGB is totally confusing - I mean, at least #C0FFEE should be brown, right? | ||
| | |
| | ||
| Benutzer | Zitat:
Wenn ich das SELECT weglassen findet die Abfrage die Menge JAZ nicht mehr. Code: SELECT ID, Datum, Gleitzeit, YEAR(Datum)AS Jahr, ( SELECT ROUND(SUM(Gleitzeit), 2) FROM tblAnwesenheit AS T1 WHERE tblAnwesenheit.ID >= T1.ID )AS Verlauf, ( SELECT IF( Verlauf < 25.00, Date_ADD(Datum, INTERVAL 1 YEAR), '' ) )AS JAZ, (SELECT DATEDIFF(JAZ, NOW()))AS Diff FROM tblAnwesenheit WHERE IF( Verlauf < 25.00, Date_ADD(Datum, INTERVAL 1 YEAR), '' ); | |
| | |
| | |
| moderatives Dielektrikum Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse: Fortgeschritten ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() | Beschreibe bitte noch mal das zugrundeliegende Tabellenschema, Dein Genaues Ziel und bau die Query dann systematisch auf.
__________________ -- One pixel is still too big. Please make it smaller. ASAP. Initiative Mittelstand. Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers. -- |
| | |
| | |
| Benutzer | Hallo, also das Tabellenschema. ![]() Genaues Ziel der Abfrage. In der Tabelle tblAnwesenheit speichere ich mir meine Kommen und Gehen Zeit mit Datum. Arbeitszeit und Gleitzeit wird anhand der beiden Zeiten und der Auswahl Text errechnet. Die Spalte Text ist welche Schicht, Schulung, Rufbereitschaft usw. ich an diesem eingegenenen Tag habe. JAZ bedeutet Jahresarbeitszeit. Das bedeutet, das die Gleitzeit mindestens einmal im Jahr unter 25,00 Stunden kommen muss. Wenn dann die Gleitzeit unter 25 Std ist wird das Jahresarbeitszeitende auf diesen Tag plus ein Jahr gelegt. Ich will nun das Jahresarbeitszeitende und die Differenz von Jetzt bis zum Jahresarbeitszeitende auf meiner Auswertung anzeigen. Die Differenz habe ich mir testweise mit einem Code: (SELECT DATEDIFF(JAZ, NOW()))AS Diff Der Query sieht bis jetzt so aus Code: SELECT ID, Datum, Gleitzeit, ( SELECT ROUND(SUM(Gleitzeit), 2) FROM tblAnwesenheit AS T1 WHERE tblAnwesenheit.ID >= T1.ID )AS Verlauf, ( SELECT IF( Verlauf < 25.00, Date_ADD(Datum, INTERVAL 1 YEAR), '' ) )AS JAZ, (SELECT DATEDIFF(JAZ, NOW()))AS Diff FROM tblAnwesenheit; In meiner Access Datenbank wo ich das schon erfolgreich benutze sieht die Query so aus. Code: SELECT
tblAnwesenheit.AnwesenheitID,
tblAnwesenheit.Datum_Feld,
Year([ Datum_Feld ])AS Jahr,
Month([ Datum_Feld ])AS Monat,
tblAnwesenheit.Gleitzeit,
(
SELECT
Round(sum(Gleitzeit), 2)
FROM
tblAnwesenheit AS temp
WHERE
temp.AnwesenheitID <= tblAnwesenheit.AnwesenheitID
)AS Gleitzeitverlauf,
IIf(
[ Gleitzeitverlauf ]< 25,
DateAdd("yyyy", 1 ,[ Datum_Feld ])
)AS JAZ
FROM
tblAnwesenheit
ORDER BY
tblAnwesenheit.AnwesenheitID;
neuen Query nicht mehr. Hier wurde auch nicht nur ein Datensatz angezeigt sondern alle, die Access Datenbank war wohl etwas schneller als meine Linkstation Mini. Warum ich das ganze mache ist einfach. Ich habe keinen Windows PC Zuhause mehr, somit läuft meine Access Datenbank nur noch in einer Virtuellen Maschine vom Mac. Die Datensicherung ist auch so eine Sache, bei Access habe ich alles in einer Datei, wenn diese defekt ist kann ich hoffen das das Backup einigermaßen auf dem neusten Stand ist. Deswegen wollte ich das ganze mit PHP und MySQL machen. Bringt bis auf die Stolpersteine der MySQL Querys nur Vorteile finde ich. Geändert von Marvin75 (14.06.2011 um 21:31 Uhr). |
| | |
| | |
| moderatives Dielektrikum Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse: Fortgeschritten ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() | Ich sehe in Deinen komischen Statements nicht durch, schon weil Du ständig SELECT benutzt, obwohl Du wohl nur ein Feld selektieren willst. Schreib doch mal korrekte JOINs, dann steigt man vielleicht durch. Ich muss gestehen, das mit der Gleitzeit habe ich noch nicht ganz kapiert. Code: SELECT ID ,
Datum ,
Gleitzeit ,
FROM tblAnwesenheit AS A1
JOIN tblAnwesenheit AS A2
ON ?
__________________ -- One pixel is still too big. Please make it smaller. ASAP. Initiative Mittelstand. Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers. -- |
| | |
| | |||
| Benutzer | Hallo, Ich trage jeden Tag Datum, Kommen, Gehen und den Text ein. Anhand dieser Daten werden Anwesenheit, Arbeitszeit und Gleitzeit errechnet. Jeder Datensatz beinhaltet dann für einen Tag Kommen, Gehen, Text, Anwesenheit, Arbeitszeit, Sollzeit, Gleitzeit und der Name. So sieht die Tabelle aus, jeden Tag ein neuer Datensatz. http://dl.dropbox.com/u/18240102/tbl...heit_Daten.jpg Die Gleizeit soll kumuliert werden. Wenn der kumulierte Wert <=25 ist, soll in diesem Datensatz ein Datum eingetragen werden. So Sieht die Access Abfrage aus. http://dl.dropbox.com/u/18240102/Abfrage_Daten.jpg Zitat:
Zitat:
Die aufgebaute Gleitzeit, die durch Überstunden oder Mehrarbeit entsteht, muss abgefeiert werden. Die Gleitzeit besteht aus einer Ampelreglung. Gleitzeit zwischen -25 und +25 Stunden ist im Grünen Bereich. Gleitzeit von -25Std bis -50Std oder +25Std bis +50Std ist im Gelben Bereich Gleitzeit von >50Std oder -50Std ist im roten Bereich. Einmal im Jahr sollte man sich im Grünen Bereich befinden. Wenn der Grüne Bereich erreicht wurde (durch abfeiern der Gleitzeit), wird das Datum auf den Tag gesetzt wo man den grünen Bereich erreicht hat plus ein Jahr. Geändert von Marvin75 (15.06.2011 um 11:35 Uhr). Grund: überbreite Bilder durch Links ersetzt | ||
| | |
|
| Themen-Optionen | |
| Thema bewerten | |
|
|
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Benutzerdefiniertes Sortieren | gaxx | PHP Einsteiger | 12 | 29.05.2011 17:39 |
| [Erledigt] Datenbank Abfrage Wert aus Feld in anderes Feld schreiben | Kia | Datenbanken | 3 | 26.05.2011 10:08 |
| Tabellenausgabe sortieren mit Dropdown liste | ahunzs | PHP Einsteiger | 10 | 23.05.2011 15:33 |
| [Erledigt] Textdatenbank zeilenweise alphabetisch sortieren - Drop Down Menü alphabet | UdoDirk | PHP Tipps 2010 | 1 | 24.07.2010 10:45 |
| input feld focusieren | jens76 | JavaScript, Ajax und mehr | 4 | 10.05.2010 17:46 |
| SQL: Inhalte von zwei Feldern in ein Feld übertragen | inichino | Datenbanken | 4 | 05.11.2009 14:22 |
| DB Feld auf ein anderes innerhalb umleiten | vampsm | Datenbanken | 6 | 28.09.2009 13:24 |
| [Erledigt] Tabelle automatisch generieren | scheffie | PHP Tipps 2009 | 18 | 07.06.2009 16:17 |
| [Erledigt] Limit auf Ergebnissumme mehrerer Tabellen | Frank | Datenbanken | 8 | 02.09.2008 11:33 |
| [gelöst] Zahlen sortieren mit Varchar | moose | Datenbanken | 8 | 21.07.2008 13:53 |
| Array nach mehreren Feldern sortieren | Marcel1 | PHP Tipps 2008 | 4 | 04.06.2008 05:09 |
| Formular feld | Black-Devil | PHP Tipps 2008 | 12 | 05.03.2008 16:15 |
| Nach Datum sortieren | zoro | Datenbanken | 9 | 28.11.2007 14:00 |
| Select Feld nach Überprüfung | PHP Tipps 2005-2 | 4 | 31.08.2005 22:22 | |
| Array nach Feld sortieren | PHP Tipps 2005-2 | 2 | 07.08.2005 23:00 | |
| Besucher kamen über folgende Suchanfragen bei Google auf diese Seite |
| mysql unterabfrage sortieren, access nach berechnetem feld sortieren, access sortieren nach berechnetem feld, access daten nach abfrage sortieren unterabfrage, sql feld in unterabfrage, access monat jahr aus datum sortieren \in ein feld\, sql feld aus unterabfrage anzeigen, access unterabfrage sortieren, mysql feld aus unterabfrage in abfrage benutzen, unterabfrage sortieren access, abfrage mit berechnetem feld mysql, sql unterabfrage sortierung, php differenzen sortieren, access unterabfrage ergebnis ein feld, daten durch unterabfrage sortieren, access abfrage nach berechnetem feld sortieren, access unterabfrage in berechnetem tabellenfeld, order by access sortieren nach feld, access 2 abfragen zusammen sortieren nach datum, unterabfrage sortieren |