IZ
Size: a a a
IZ
IZ
NB
VS
N1 имеет Y: [], X: []
N2 имеет Y: [active: false], X: []
N3 имеет Y: [active: false], X
: [active: false]
RV
IZ
1
2
3
1, true, 1
2, false, 1
3, false, 1
4, true, 2
5, false, 3
1,
false,
3,
true, 1
3, false, 1
3
NB
IZ
IZ
NB
select *
from n
left join y on y.n_id = n.id
left join x on x.n_id = n.id
where (y.active is null and x.active is null) or y.active = false or x.active = false
group by n.id
IZ
IZ
select *
from n
left join y on y.n_id = n.id
left join x on x.n_id = n.id
where (y.active is null and x.active is null) or y.active = false or x.active = false
group by n.id
VS
SELECTвариант без сте)
id,
COUNT(*) as count
FROM
(
SELECT n.id as id
FROM n
LEFT JOIN x ON n.id = x.n_id
WHERE x.active = false OR x.active IS NULL
UNION ALL
SELECT n.id as id
FROM n
LEFT JOIN y ON n.id = y.n_id
WHERE y.active = false OR y.active IS NULL
)
GROUP BY 1
HAVING count > 1
RV
select *
from n
left join y on y.n_id = n.id
left join x on x.n_id = n.id
where (y.active is null and x.active is null) or y.active = false or x.active = false
group by n.id
RV
IZ
NB
NB
NB