¿Por qué en el primer caso las pantallas de débito = 'nulo', y el segundo la cantidad correcta

StackOverflow https://stackoverflow.com/questions/3562082

  •  01-10-2019
  •  | 
  •  

Pregunta

¿Por qué en el primer caso displays de débito = 'null', y la segunda la cantidad correcta

~

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'
¿Fue útil?

Solución

debet será NULL debido a esto:

AND rsh.dog_no = d.dog_no_fact

Si no hay rs.dog_no que coincide con el d.dog_no_fact, la subselección devolverá NULL.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top