Berechnungen in Tabellenansicht möglich?

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

KeiSaturne
Beiträge: 8
Registriert: Sa, 11.07.2009 15:59

Berechnungen in Tabellenansicht möglich?

Beitrag von KeiSaturne »

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
DPunch
*******
Beiträge: 1112
Registriert: Mo, 02.11.2009 16:16
Wohnort: Marburg

Re: Berechnungen in Tabellenansicht möglich?

Beitrag von DPunch »

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.
AndreasJBittner
*****
Beiträge: 473
Registriert: Fr, 09.10.2009 16:44
Wohnort: Bielefeld
Kontaktdaten:

Re: Berechnungen in Tabellenansicht möglich?

Beitrag von AndreasJBittner »

Hallo,

das Alter des Patienten bekommst Du leicht mit

Code: Alles auswählen

SELECT (YEAR(ErstDDat) - YEAR(GebDat)) AS Alter FROM <tabelle>
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
DPunch
*******
Beiträge: 1112
Registriert: Mo, 02.11.2009 16:16
Wohnort: Marburg

Re: Berechnungen in Tabellenansicht möglich?

Beitrag von DPunch »

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 ;)
AndreasJBittner
*****
Beiträge: 473
Registriert: Fr, 09.10.2009 16:44
Wohnort: Bielefeld
Kontaktdaten:

Re: Berechnungen in Tabellenansicht möglich?

Beitrag von AndreasJBittner »

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:

Code: Alles auswählen

SELECT DATEDIFF('1997-12-31 23:59:59','1997-12-30');
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
DPunch
*******
Beiträge: 1112
Registriert: Mo, 02.11.2009 16:16
Wohnort: Marburg

Re: Berechnungen in Tabellenansicht möglich?

Beitrag von DPunch »

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.
Barlee
******
Beiträge: 767
Registriert: Sa, 17.12.2005 12:27

Re: Berechnungen in Tabellenansicht möglich?

Beitrag von Barlee »

Hallo zusammen,
evtl. hilft das:
viewtopic.php?f=8&t=21784&hilit=alter#p108009

Gruß Barlee
Antworten