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, 4125 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 ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Datenbanken
gelöst Hilfe bei SQL-Abfrage (5)

Frage von emeriks zum Thema Datenbanken ...

Windows Server
gelöst SQL Server 2008R2 Update über Windows Microsoft Updates wird nicht mehr angeboten (4)

Frage von TimSterntaler zum Thema Windows Server ...

Datenbanken
gelöst SQL-Abfrage mit "kleiner gleich" funktioniert nicht (2)

Frage von derSESO zum Thema Datenbanken ...

Datenbanken
gelöst SQL Abfrage - Ausgabe von Person mit Privat- und Dienstadresse (3)

Frage von CBruns zum Thema Datenbanken ...

Heiß diskutierte Inhalte
TK-Netze & Geräte
gelöst Telefonanlage gesucht (39)

Frage von Xaero1982 zum Thema TK-Netze & Geräte ...

Windows Netzwerk
Anmeldung an Domäne schlägt oft fehlt (Fehlermeldung: falsches Passwort) (24)

Frage von harald.schmidt zum Thema Windows Netzwerk ...

Exchange Server
gelöst Wie freigegebenes Postfach immer als primäre Sendeadresse verwenden? (18)

Frage von Flinxit zum Thema Exchange Server ...

Microsoft Office
Outlook 2016 - Keine Mails sichtbar (nach Suche schon) (17)

Frage von Hirschix3 zum Thema Microsoft Office ...