chablife Geschrieben 22. Juli 2011 Teilen Geschrieben 22. Juli 2011 Hey, ich habe folgendes Problem. Und zwar habe ich 2 Tabellen. In der einen ist die Spalte "Vertragsbeginn" vorhanden und in der anderen Tabelle die Spalte "Monat". Und jetzt habe ich die Aufgabe von meinem Chef bekommen, Das der "Monat" je nachdem auf was für einem Datum der "Vertragsbeginn" ist, sich automatisch ändert. Das heißt wenn in "Vertragsbeginn" der Wert '04.01.2011' steht muss im "Monat" 'Jan' stehen. Und so gehts dann immer weiter. Seit einer Stunde versuche ich alles mögliche und habe auch im Internet gesucht aber es hat nichts funktioniert bis jetzt. Geht das mit UPDATE? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
carstenj Geschrieben 22. Juli 2011 Teilen Geschrieben 22. Juli 2011 Hi, wenn die Tabellenspalte richtig deklariert ist hängt es wohl eher von deinen Ausgabeeinstellungen ab. Wenn also die Spalte ein Datum ist, kann man die Ausgabe bei Oracle z.B. mit den entsprechendenen Umgebungsvariablen anpassen. Welche Datenbank nutzt du denn? Und welchen Typ hat die Spalte? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
chablife Geschrieben 22. Juli 2011 Autor Teilen Geschrieben 22. Juli 2011 Hi, wenn die Tabellenspalte richtig deklariert ist hängt es wohl eher von deinen Ausgabeeinstellungen ab. Wenn also die Spalte ein Datum ist, kann man die Ausgabe bei Oracle z.B. mit den entsprechendenen Umgebungsvariablen anpassen. Welche Datenbank nutzt du denn? Und welchen Typ hat die Spalte? Ich nutze das Aufgaben Center von der Sage Office Line. "Vertragsbeginn" hat den Typ Datum und "Monat" den Typ Text. Beide sind halt in unterschiedlichen Tabellen. Habe verschiedene WHEN und IF abfragen probiert aber klappen tut es nicht. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Sacaldur Geschrieben 22. Juli 2011 Teilen Geschrieben 22. Juli 2011 da mir dieses Programm(-paket) nichts sagt, kann ich dir nicht sagen, wie du es ganz einfach machen könntest da die Datenbankstruktur scheinbar schon so gegeben war, könntest du dich bei deinem Chef erkundigen, warum in der Datenbank redundante Daten liegen (ich jedenfalls würde mich deswegen erkundigen) immerhein scheint es mir so, als solle ab sofort der Monat immer genau das gleiche enthalten, wie (teilweise) bereits mit dem Datum gespeichert wurde Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
chablife Geschrieben 22. Juli 2011 Autor Teilen Geschrieben 22. Juli 2011 Ich habe die Dame am Empfang gefragt wofür das gut sein soll. Sie hat gemeint damit sie gezielt filtern kann. Z.B. Nur Januar anzeigen oder nur April anzeigen. Und damit sie das alles nicht manuell einfügen muss, hat mein Chef gesagt das ich eine Aktualisierungsabfrage machen soll, die die Spalte "Monat" automatisch mit dem jeweiligen Wert füllt. Er hat gemeint du musst eine Wenn .. Dann Abfrage machen. WENN Datum = so und so DANN Monat = so und so. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
flashpixx Geschrieben 22. Juli 2011 Teilen Geschrieben 22. Juli 2011 Im Normalfall hat jede Datenbank / Programmiersprache Datumsfunktionen z.b. if (date("month", tabelfield) == 02) alternativ geht es auch andersherum if (between(tablefield, 02-01-2003, 02-28-2003)) entweder extrahiert man den Monat aus dem Tabellenfeld und prüft darauf, oder man prüft auf einen Datumsbereich, d.h. vom ersten Tag des Monats bis zum letzten Tag. Die konkrete Umsetzung ist von dem System abhängig. Grundsätzlich gilt, dass man keine Redundanzen innerhalb der Datenbank speichert, das führt sehr schnell zu Inkonsistenz des Datenstamms. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Schnittcher Geschrieben 22. Juli 2011 Teilen Geschrieben 22. Juli 2011 Wenn ich das richtig verstanden habe müsstet du es so machen: WENN tabelle1.Datum = "01.01.2011" DANN tabelle2.Monat = "Jan" Jetzt musst du nur noch schauen, wie du aus dem Datum nur den Monat erhälst, bei MySQL zum Beispiel wäre das zum Beispiel MONTH(). Ich hoffe ich konnte dir vll. etwas helfen. Edit: Sorry, mein Vorposter scheint ja fast das gleich erklärt zu haben! Nur besser! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
chablife Geschrieben 22. Juli 2011 Autor Teilen Geschrieben 22. Juli 2011 Vielen Dank für die Tipps bisher. Habe vergessen zu sagen das es immer der erste jeden Monats ist. Also immer nur 01.01.2011 oder 01.02.2011. Ich probiere die Befehle mal aus. Muss man dazu die Update benutzen oder Select? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
chablife Geschrieben 22. Juli 2011 Autor Teilen Geschrieben 22. Juli 2011 Mal nebenbei: Falls ich dumme Fragen stelle nicht wundern. Ich mache derzeit ein Praktikum und fange am 01.08. (übernächste Woche) meine Ausbildung als AE hier an. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Schnittcher Geschrieben 22. Juli 2011 Teilen Geschrieben 22. Juli 2011 Du willst etwas ändern, also musst du "UPDATE" benutzen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Sacaldur Geschrieben 22. Juli 2011 Teilen Geschrieben 22. Juli 2011 man sollte, wie bereits geschrieben, Redundanzen vermeiden mir scheint es, als würde die Frau, mit der du gesprochen hast, direkt auf die Datenbank (bzw. auf direkt auf den Datenbestand) zugreifen eigentlich müsste man für soetwas Oberflächen erstellen, mit deren Hilfe man auf die Datenbank zugreifen kann diese könnten dann eine solche Anzeige (/Filterung) liefern allerdings ist es auch sinnvoll, die Kosten dafür mit dem Nutzen abzuwägen (wodurch man sich evtl. auch dagegen entscheiden kann) zur Lösung: erkundige dich am Besten, welche Datumsfunktionen dir deine Umgebung bietet und schau dir deren Dokumentation an anhand derer kannst du dann entscheiden, welche du verwenden kannst Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
chablife Geschrieben 25. Juli 2011 Autor Teilen Geschrieben 25. Juli 2011 Sorry kann erst jetzt antworten. Ja, bevor die Datenbank öffnet erscheint ein Fenster wo man die Monate auswählen kann die man sehen möchte. Nach der Auswahl öffent sich die Datenbank. Habe mit meinem Chef geredet er hat gemeint das er gar nicht erwartet habe das ich das kann und das ich einen der Mitarbeiter fragen soll um das zulösen. Also ist eigentlich soweit alles geklärt, trotzdem danke euch für die Tipps. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
chablife Geschrieben 26. Juli 2011 Autor Teilen Geschrieben 26. Juli 2011 Sorry kann erst jetzt antworten. Ja, bevor die Datenbank öffnet erscheint ein Fenster wo man die Monate auswählen kann die man sehen möchte. Nach der Auswahl öffent sich die Datenbank. Habe mit meinem Chef geredet er hat gemeint das er gar nicht erwartet habe das ich das kann und das ich einen der Mitarbeiter fragen soll um das zulösen. Also ist eigentlich soweit alles geklärt, trotzdem danke euch für die Tipps. Nur falls es jemanden interessiert, der Befehl ging so: UPDATE M SET M.Monat = 'Jan' FROM Tabelle1 M INNER JOIN Tabelle2 W ON M.ID = W.ID WHERE Month(W.Vertragsbeginn) = 1 AND M.Monat IS NULL Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.