为什么在第一种情况下显示借记='null',第二个是正确的数量
题
为什么在第一种情况下显示借记='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'
解决方案
debet
将会 NULL
因为这:
AND rsh.dog_no = d.dog_no_fact
如果没有 rs.dog_no
与之匹配 d.dog_no_fact
, ,子选择将返回null。
不隶属于 StackOverflow