sql >> Database teknologi >  >> RDS >> Sqlserver

Sammenføjning af flere tabeller returnerer værdien NULL

Det er fordi null på hver side af tilføjelsesoperatoren vil give resultatet null . Du kan bruge ISNULL(LiabilityPremium, 0) Eksempel:

ISNULL(l.LiabilityPremium,0) + ISNULL(h.LiabilityPremium,0) as LiabilityPremium

eller du kan bruge COALESCE i stedet for ISNULL .

COALESCE(l.LiabilityPremium,0) + COALESCE(h.LiabilityPremium,0) as LiabilityPremium

Rediger

Jeg er ikke sikker på, om dette er sammenfald med dette lille datasæt eller forventet, men hvis det forventes altid, at enten @LiabilityPremium.LiabilityPremium eller @HiredPremium.LiabilityPremium vil altid være null, så er der ingen grund til at udføre addition. Brug i stedet COALESCE direkte på de 2 kolonner.

COALESCE(l.LiabilityPremium, h.LiabilityPremium) as LiabilityPremium


  1. Opdater en databasepostkonto (SSMS)

  2. SQL-datatyper:5 værste valg, du skal stoppe i dag

  3. PHP, MySQL fejl:Kolonneantal stemmer ikke overens med værdiantallet i række 1

  4. mySQL-fejl 1040:For mange forbindelser