MySQL ne retourne pas les valeurs globales pour les lignes qui reviennent nulls, même si le test spécifiquement pour ISNULL. ISNULL est seulement pour vérifier si une colonne est nulle, pas si la relation renvoie null. J'ai cependant trouvé une manière (bien que très obscure) de contourner cette limitation. La prémisse de base est d'unir toutes les deux instructions sql et d'utiliser la requête à deux unions comme sous-requête à sélectionner.
Les queryies seraient filles fusionnées sous la forme:
select column1, column2, SUM(column3) as payment from tablea, tableb where....
union all
select column1, column2, 0.00 as payment from tablea --notice no join, and a specified value and alias for aggregate column
Avec la requête ci-dessus, vous obtiendrez deux lignes pour chaque ligne que la relation est non nul, et une ligne quand il est. Si vous additionnez ces lignes et groupez par, alors vous devriez vous retrouver avec les valeurs que vous voulez. Donc, vous créez ensuite une requête qui utilise ce qui précède que la table pour sélectionner et résume la colonne globale:
select column1, column2, SUM(payment) from
(select column1, column2, SUM(column3) as payment from tablea, tableb where....
union all
select column1, column2, 0.00 as payment from tablea) as b
group by column1, column2
Je suis probablement hors de la syntaxe de la requête, désolé, je n'ai pas MySQL ici pour tester.
Renvoie zéro à nouveau ... –