Używam SQL Server Management Studio 17.
Mam instrukcję select z grupą by, która zwraca następujące wartości. To tylko podzbiór 170 tysięcy wierszy.
SELECT child, parent
FROM (SELECT child, parent
FROM table
GROUP BY child, parent) AS derivedtbl_1
ORDER BY child
Dziecko | Rodzic |
---|---|
201 | zero |
201 | 991 |
201 | 1020 |
202 | zero |
203 | zero |
Ja ze wszystkich sił staram się znaleźć instrukcję select, która filtruje pierwszy wiersz. Jeśli dziecko ma już rodzic, który NIE jest ZEROWY, chcę, aby on odfiltrowane wiersz z wartością NULL.
Próbowałem rozwiązać ten problem z pomocą sytuacji, gdy mam instrukcję count. Na przykład, jeśli wartość istnieje więcej niż jeden raz w podrzędnej kolumnie, chcę, aby ono отфильтровывало wiersz, w którym rodzic jest równy ZERO, ale cały mój kod do tej pory zwraca błąd.
Dziecko | Rodzic |
---|---|
201 | 991 |
201 | 1020 |
202 | zero |
203 | zero |