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, 4128 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 ...

Windows Server
gelöst Update BackupExec 2015 auf 2016 führt zu SQL-Server Problem (19)

Frage von montylein1981 zum Thema Windows Server ...

Neue Wissensbeiträge
Batch & Shell

Batch zum Zurücksetzen eines lokalen Profils

Tipp von Mr.Error zum Thema Batch & Shell ...

RedHat, CentOS, Fedora

Fedora, RedHat, Centos: DNS-Search Domain setzen

(13)

Tipp von Frank zum Thema RedHat, CentOS, Fedora ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
VPN Tunnel aufbauen (16)

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

Microsoft Office
Saubere HTML aus Word-Dokument (13)

Frage von peterpa zum Thema Microsoft Office ...

E-Mail
gelöst Probleme beim E-Mail Empfang (12)

Frage von TommyB83 zum Thema E-Mail ...

Microsoft
gelöst Subnetting: In welchem Subnetz befindet sich die IP? (12)

Frage von winler zum Thema Microsoft ...