Perché nel primo caso mostra addebito = 'nullo', e la seconda la giusta quantità
Domanda
Perché nel primo caso mostra addebito = 'nullo', e la seconda la giusta 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'
Soluzione
debet
sarà NULL
a causa di questo:
AND rsh.dog_no = d.dog_no_fact
Se non c'è rs.dog_no
che corrisponde al d.dog_no_fact
, la subselect restituirà NULL.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow