Hallo zusammen,
ich bin absoluter Base-Anfänger und habe daher eine vermutlich simple Frage:
Ich möchte eine Datenbank erstellen, in der die verschiedenen Daten von Patienten zusammen gefasst sind. Dazu gehören 2 Daten, nämlich das Geburtsdatum und das Erstdiagnosedatum. In Calc ist es ja nun einfach möglich, sich das Alter des Patienten bei Erstdiagnose ausrechnen zu lassen. Geht das in der Tabellenansicht von Base auch? Und wenn ja, wie? Oder muss hierzu eine Abfrage gestellt werden? Das wäre dann nämlich zu kompliziert...
Schon mal vielen lieben Dank!
Kei
Berechnungen in Tabellenansicht möglich?
Moderator: Moderatoren
-
- Beiträge: 8
- Registriert: Sa, 11.07.2009 15:59
Re: Berechnungen in Tabellenansicht möglich?
Aloha
Ja, dafür brauchst Du eine Abfrage.
Eine Datenbank ist, wie der Name schon sagt, dafür zuständig, Daten zu speichern - wenn Du mit den Daten rechnen willst, musst Du entweder bei Calc bleiben oder entsprechende Abfragen formulieren (bzw. einfach über den Assistenten zusammenstellen).
Das berechnen des tatsächlichen Alters per SQL ist allerdings etwas umständlich.
Ja, dafür brauchst Du eine Abfrage.
Eine Datenbank ist, wie der Name schon sagt, dafür zuständig, Daten zu speichern - wenn Du mit den Daten rechnen willst, musst Du entweder bei Calc bleiben oder entsprechende Abfragen formulieren (bzw. einfach über den Assistenten zusammenstellen).
Das berechnen des tatsächlichen Alters per SQL ist allerdings etwas umständlich.
-
- *****
- Beiträge: 473
- Registriert: Fr, 09.10.2009 16:44
- Wohnort: Bielefeld
- Kontaktdaten:
Re: Berechnungen in Tabellenansicht möglich?
Hallo,
das Alter des Patienten bekommst Du leicht mit
Grüße
Andreas
das Alter des Patienten bekommst Du leicht mit
Code: Alles auswählen
SELECT (YEAR(ErstDDat) - YEAR(GebDat)) AS Alter FROM <tabelle>
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
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
Re: Berechnungen in Tabellenansicht möglich?
Wenn man damit leben kann, dass man damit das tatsächliche Alter auch um 1 Jahr verfehlen kann, ist das möglicherweise so einfach, ja 

-
- *****
- Beiträge: 473
- Registriert: Fr, 09.10.2009 16:44
- Wohnort: Bielefeld
- Kontaktdaten:
Re: Berechnungen in Tabellenansicht möglich?
Hallo,
ja, Du hast ja recht, aber wenn man das weiß und es bei einem Patienten wohl eher darauf ankommt zu wissen, ob er 12, 42, 62 oder 102 ist, dann ist die Quick-und-Dirty-Lösung vor allem einfach genug. Ansonsten rechnet man noch die Differenz in Tagen aus und schlägt eben ein 0,irgendwas drauf. Aber wie gesagt, da wird es in dem Zusammenhang nicht drauf ankommen.
Lieber ungefähr richtig als präzis falsch.
Und ansonsten guxtu SQL-Funktionen nach:
Grüße
Andreas
ja, Du hast ja recht, aber wenn man das weiß und es bei einem Patienten wohl eher darauf ankommt zu wissen, ob er 12, 42, 62 oder 102 ist, dann ist die Quick-und-Dirty-Lösung vor allem einfach genug. Ansonsten rechnet man noch die Differenz in Tagen aus und schlägt eben ein 0,irgendwas drauf. Aber wie gesagt, da wird es in dem Zusammenhang nicht drauf ankommen.
Lieber ungefähr richtig als präzis falsch.

Und ansonsten guxtu SQL-Funktionen nach:
Code: Alles auswählen
SELECT DATEDIFF('1997-12-31 23:59:59','1997-12-30');
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
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
Re: Berechnungen in Tabellenansicht möglich?
Aloha
Die DATEDIFF-Funktion rechnet die Jahre (respektive das Alter) intern auf die gleiche Weise wie Dein vorheriger Vorschlag
(zumindest bei den mir bekannten DBMS)
Aber Du hast Recht, in der Regel sollte es auf das eine Jahr nicht ankommen - für den Fall, dass man doch das exakte Alter (z.B. für Versicherungen o.Ä.) brauchen sollte, ist es allerdings natürlich nicht verkehrt, um diese Schwäche bei SQL zu wissen, anstatt blind darauf zu vertrauen.
Die DATEDIFF-Funktion rechnet die Jahre (respektive das Alter) intern auf die gleiche Weise wie Dein vorheriger Vorschlag

Aber Du hast Recht, in der Regel sollte es auf das eine Jahr nicht ankommen - für den Fall, dass man doch das exakte Alter (z.B. für Versicherungen o.Ä.) brauchen sollte, ist es allerdings natürlich nicht verkehrt, um diese Schwäche bei SQL zu wissen, anstatt blind darauf zu vertrauen.