2010-08-25 19 views
1

Pourquoi dans le premier cas affiche débit = « null », et la seconde la quantitéPourquoi dans le premier cas affiche débit = « null », et la seconde la quantité

~

SELECT o.kadastr,    /* Кадастровый номер */ 
     d.ar_inn,    /* ИНН арендатора */ 
     o.adres,    /* Адрес участка */ 
     r.name,    /* ФИО арендатора */ 
     o.pl_common,   /* Общая плащадь */ 
     d.arenda_beg,   /* Дата начала ареды */ 
     d.arenda_end,   /* Дата конца ареды */ 
     d.dogovor_kadst,  /* Общая кадастровая стоимость */ 
     rr.ref_str,    /* Вид разрешенного использования */ 
     (SELECT SUM(rsh.debit) 
      FROM raschet rsh 
      WHERE rsh.s = 'C' 
      AND rsh.period_y = '2010' 
      AND rsh.dog_no = d.dog_no_fact) debet /* Годовая арендная плата */ 
    FROM dogovor d 
    INNER JOIN recviz r ON (r.inn_fact = d.ar_inn) 
    LEFT JOIN object o ON (o.obj_no = d.obj_no) 
    LEFT JOIN ras_refstr rr ON (rr.rasrefstrid = o.object_razr_isp) 

~

SELECT SUM(rsh.debit) debit 
FROM raschet rsh 
WHERE r.dog_no = '1000' 
AND r.s = 'C' 
AND r.period_y = '2010' 

Répondre

2

debet sera NULL à cause de cela:

AND rsh.dog_no = d.dog_no_fact 

S'il n'y a pas rs.dog_no qui correspond à d.dog_no_fact, la sous-sélection renverra NULL.

+0

Merci. Je n'étais pas attentif et je ne compare pas ces champs – Andrey