PDA

View Full Version : MSSQL SERVER 2000



Seiten : [1] 2 3

Corraggiouno
26-04-05, 09:59
hallo benötige dringend eure hilfe,

ich verwende folgenden CODE:

select op.opnr, op.fallnr, stp.patientenname, stp.geburtsdatum, op.opdatum
from st_patient stp, op op
where stp.fallnr=op.fallnr

/*jetzt kommt noch ein Insert in die neue Tabelle OP1*/

insert into op1
select OPNr, FallNr, Patientenname, Geburtsdatum, OPDatum
from op1

Ziel ist: ich möchte das ABGEFRAGTE in die neue Tabelle reinschmeissen

funktioniert aber nicht

Berichtigt mich doch bitte, denn so funktioniert der die sql - anweisung NICHT

Ich weiss mir keinen rat mehr

Vielen dank!!!

Fuerchau
26-04-05, 10:38
insert into op1
select op.opnr, op.fallnr, stp.patientenname, stp.geburtsdatum, op.opdatum
from st_patient stp, op op
where stp.fallnr=op.fallnr

Wenn im Select alle Felder definiert sind die auch in op1 definiert sind geht das so ansonsten:

insert into op1 (opnr, fallnr, patientenname, geburtsdatum, opdatum)
values(select op.opnr, op.fallnr, stp.patientenname, stp.geburtsdatum, op.opdatum
from st_patient stp, op op
where stp.fallnr=op.fallnr
)

Corraggiouno
26-04-05, 15:06
super , vielen vielen dank das hat geklappt,

sorry, ich habe noch ein problem , wo ich nicht weiter komme,

ich habe eine tabelle opdauer mit den
spalten:

opnr , schnittzeit, nahtzeit, opdauer

so jetzt möchte ich

die schnittzeit von der nahtzeit abziehen und schließlich die spalte opdauer damit füllen,

(sowohl die schnittzeit als auch die nahtzeit sind vom Typ "datetime")

ergebnis soll lauten:
z.B. 15:50:00 minus 14:45:00
= 01:05:00

wie geht das , kann mir da jemand weiterhelfen die richtige syntax dafür zu
verwenden

vielen dank im voraus!!!!

Fuerchau
26-04-05, 15:27
Mit SQL-Variablen kann man auch rechnen:

select nahtzeit - schnittzeit as opdauer from myfile

oder auch

update myfile
set opdauer = nahtzeit - schnittzeit

In SQL wird die Dauer immer im Datum/Zeitformat geliefert, d.h., der Wert ist entsprechend zu interpretieren:
JJJJ-MM-TT.HH:MM:SS
bedeutet dann
JJJJ Jahre
MM Monate
TT Tage
HH Stunden
MM Minuten
SS Sekunden

Corraggiouno
27-04-05, 07:49
guten morgen, ich hoffe ich störe nicht, aber ich da nochmal ein kleines problemchen

also das mit dem update opdauer
und dann set opdauer = nahtzeit - schnittzeit

hat wunderbar funktioniert

Ergebnis: z.B.: 1900-01-01 01:15:00.000

Jetzt möchte ich , wenn es möglich ist

1900-01-01 eliminieren , so dass nur noch die zeit zu sehen ist

gibt es da vielleicht eine möglichkeit

Vielen dank!!!!

B.Hauser
27-04-05, 08:05
guten morgen, ich hoffe ich störe nicht, aber ich da nochmal ein kleines problemchen

also das mit dem update opdauer
und dann set opdauer = nahtzeit - schnittzeit

hat wunderbar funktioniert

Ergebnis: z.B.: 1900-01-01 01:15:00.000

Jetzt möchte ich , wenn es möglich ist

1900-01-01 eliminieren , so dass nur noch die zeit zu sehen ist

gibt es da vielleicht eine möglichkeit

Vielen dank!!!!

Ich gehe davon aus, dass Dein Ausgabe-Feld ein Zeitmarken-Feld ist.
Mit der Funktion TIME(ZeitMarke) kann nur der Zeit-Anteil aus der Zeitmarke sichtbar gemacht werden.

Birgitta

Corraggiouno
27-04-05, 08:43
jetzt weiss ich zumindest welche option ich verwenden kann ,

was ich nicht weiss ist , wie bette ich die funktion "time" in meine sql-anweisung ein

ich bin ein wirklicher anfänger was mssql betrifft , sorry

also wenn ich folgenden code habe

update opdauer
set opdauer=nahtzeit-schnittzeit

wo bette ich hier die funktion time ein

Vielen dank im voraus

Fuerchau
27-04-05, 09:51
Ob MSSQL das so unterstützt weiss ich nicht, aber TIME(nahzeit-schnittzeit) müsste funktionieren.
Wenn dein Feld OPDAUER allerdings nicht als TIME-Feld sondern als TIMESTAMP definiert ist, bringt das so nichts.
Ggf. musst du dann "Select TIME(opdauer) ..." verwenden.

Corraggiouno
27-04-05, 10:58
sorry, muss nochmal nachfragen

also meinen nahtzeit=datetime/die schnittzeit=datetime

und die opdauer spalte ist timestamp

habe folgenden code verwendet :

select time( opdauer)
set opdauer=nahtzeit-schnittzeit

.......fehlermeldung----> 'time' is not a recognized function name

was soll ich tun

mit sicherheit stimmt die syntax nicht von mir

Fuerchau
27-04-05, 11:52
Dann ist die TIME-Funktion nicht bekannt.
Für MSSQL-Server heisst die Funktion DATEPART (übrigens die gleiche wie in VB), weiteres siehe Onlinehilfe zu MSSQL-Server.