Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

SQL Update abfrage gibt NULL zurück

Frage Entwicklung Datenbanken

Mitglied: tim1986

tim1986 (Level 1) - Jetzt verbinden

13.03.2009, aktualisiert 14.03.2009, 4135 Aufrufe, 4 Kommentare

Hy,
hab ma wieder n kleines Problem und komm ned weiter...
ums kurz zu machen,
ich möchte summierte Umsatzwerte in eine Spalte eintragen...
das ganze funktioniert auch super, bis ich von den Umsätzen die Guschriften abziehen will, wenn da keine vorhanden ist wird aus Umsatz - Gutschrift, Umsatz -NULL
und in diesem zuge auch das ergebniss NULL
hier der code zum verständnis...
01.
use SL_M9999; 
02.
go 
03.
update kunden set _umsatzdj= 
04.
(( 
05.
select sum (eurobrutto) 
06.
from beleg  
07.
where belegtyp = 'R'  
08.
and Adressnummer = '1'  
09.
and datepart (Year,datum)= '2009' 
10.
)  
11.
12.
13.
select sum (isnull(eurobrutto,0)) 
14.
from beleg  
15.
where belegtyp in ('S','G')  
16.
and Adressnummer = '1'  
17.
and datepart (Year,datum)= '2009' 
18.
)), 
19.
_umsatzvj=(( 
20.
select sum (eurobrutto) 
21.
from beleg  
22.
where belegtyp = 'R'  
23.
and Adressnummer = '1'  
24.
and datepart (Year,datum)= '2008' 
25.
26.
27.
28.
select sum (isnull(eurobrutto,0))  
29.
from beleg  
30.
where belegtyp = 'G'  
31.
and Adressnummer = '1'  
32.
and datepart (Year,datum)= '2008' 
33.
)) 
34.
where Nummer = '1' 
35.
go
Mitglied: it-frosch
13.03.2009 um 21:18 Uhr
Hallo tim1986,

was bekommst du denn zurück wenn du die Queries für die Gutschriften einzeln ausführt?
Bitte warten ..
Mitglied: tim1986
13.03.2009 um 21:29 Uhr
hallo it-frosch,
da bekomme ich auch NULL...
es kommt auf jeden fall wenn es keine Gutschriften (Belegtyp in (''G,'S')) gibt...n lösungsansatz währe wenn ich für diese procedure NULL sagen würde das es 0 bzw. 0,00 währe... hab aber leider keine ahrnung wie?!
Bitte warten ..
Mitglied: it-frosch
13.03.2009 um 21:41 Uhr
hallo tim1986,

mal mit
isnull
(
select sum (isnull(eurobrutto,0))
from beleg
where belegtyp = 'G'
and Adressnummer = '1'
and datepart (Year,datum)= '2008'
),0)

versucht.

Ich kann es bei mir nicht testen. Mein Firebird versteht isnull nicht und datepart habe ich nicht mit eingebunden als UDF.
Bitte warten ..
Mitglied: tim1986
13.03.2009 um 22:27 Uhr
super dein tipp hat mich drauf gebracht...
in verbindung mit der group by klausel hats dann endlich gegeht
ich poste hier nochma den kompletten code vielen dank nochma...
01.
use SL_M9999; 
02.
go 
03.
update kunden set _umsatzdj=(( 
04.
select sum (eurobrutto) 
05.
from beleg  
06.
where belegtyp = 'R'  
07.
and Adressnummer = '1'  
08.
and datepart (Year,datum)= '2009' 
09.
)  
10.
11.
isnull(( 
12.
select sum (isnull(eurobrutto,0)) 
13.
from beleg  
14.
where belegtyp in ('S','G')  
15.
and Adressnummer = '1'  
16.
and datepart (Year,datum)= '2009' 
17.
Group by eurobrutto),0)), 
18.
_umsatzvj=(( 
19.
select sum (eurobrutto) 
20.
from beleg  
21.
where belegtyp = 'R'  
22.
and Adressnummer = '1'  
23.
and datepart (Year,datum)= '2008' 
24.
25.
26.
isnull(( 
27.
select sum (isnull(eurobrutto,0))  
28.
from beleg  
29.
where belegtyp = 'G'  
30.
and Adressnummer = '1'  
31.
and datepart (Year,datum)= '2008' 
32.
Group by eurobrutto),0)) 
33.
where Nummer = '1' 
34.
go
Bitte warten ..
Ähnliche Inhalte
Entwicklung
gelöst SQL Update aus derselben Tabelle (1)

Frage von winscheil zum Thema Entwicklung ...

Datenbanken
MS SQL - Update Text Feld mit Steuerzeichen (4)

Frage von emeriks zum Thema Datenbanken ...

Datenbanken
gelöst SQL Abfrage mit Visual Studio (5)

Frage von specialuser zum Thema Datenbanken ...

Entwicklung
gelöst SQL Abfrage Zeit: JETZT - 30 Sekunden (17)

Frage von Andinistrator1 zum Thema Entwicklung ...

Neue Wissensbeiträge
Heiß diskutierte Inhalte
Windows Systemdateien
NTFS und die Defragmentierung (26)

Frage von WinLiCLI zum Thema Windows Systemdateien ...

LAN, WAN, Wireless
Zwei Subnetze mit je eigenem Router und Internetzugang verbinden (18)

Frage von hannsgmaulwurf zum Thema LAN, WAN, Wireless ...

Windows Server
WIndows Server 2016 core auf dem Intel NUC NUC5i5RYK i5 5250U (17)

Frage von IxxZett zum Thema Windows Server ...