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, 4141 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
Datenbanken
gelöst SQL Abfrage mit Visual Studio (5)

Frage von specialuser zum Thema Datenbanken ...

Datenbanken
SQL - Abfragen Nachfrage (2)

Frage von PronMaster zum Thema Datenbanken ...

Datenbanken
gelöst SQL-Abfrage mit MAX() (9)

Frage von FrAmEr zum Thema Datenbanken ...

Entwicklung
gelöst SQL Update aus derselben Tabelle (1)

Frage von winscheil zum Thema Entwicklung ...

Neue Wissensbeiträge
Windows Tools

Zeit für Energiesparmodus, Bildschirmabschaltung etc. schnell anpassen

Anleitung von hannsgmaulwurf zum Thema Windows Tools ...

Linux Netzwerk

Ping und das einstellbare Bytepattern

(1)

Erfahrungsbericht von LordGurke zum Thema Linux Netzwerk ...

Windows Update

Microsoft Update KB4034664 verursacht Probleme mit Multimonitor-Systemen

(4)

Tipp von beidermachtvongreyscull zum Thema Windows Update ...

Heiß diskutierte Inhalte
Microsoft Office
Office Druck fehler (18)

Frage von DaistwasimBusch zum Thema Microsoft Office ...

Windows Server
Zertifikat am DC erneuern funktioniert nicht (13)

Frage von takvorian zum Thema Windows Server ...