为什么在第一种情况下显示debit ='null',第二种情况显示正确的数量
〜
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'
答案 0 :(得分:2)
debet
因此为NULL
:
AND rsh.dog_no = d.dog_no_fact
如果没有rs.dog_no
与d.dog_no_fact
匹配,则子选择将返回NULL。