Mám viacero rodič dieťa hierarchie pozostávajúce z 100k+ záznamov. Je to malá podmnožina.
Dieťa | Rodič |
---|---|
1 | 2 |
1 | 3 |
2 | 3 |
Musím ísť cez každú hodnotu zo stĺpca Materskej a skontrolujte, či sa v rovnakej hodnote existuje aj v stĺpci Dieťa. Ak nie, potom vytvoriť riadok s (hodnota NULL). V tomto príklade hodnotu 3 sa nenachádza v Detskej stĺpec, aby som potrebujete, ak chcete vytvoriť nový riadok s hodnotami (3, NULL).
Dieťa | Rodič |
---|---|
3 | NULL |
1 | 2 |
1 | 3 |
2 | 3 |
Môj kód nevracia chybu, ale to nie je to, čo chcem to urobiť.
INSERT IGNORE INTO #table (child, parent)
SELECT (CASE WHEN parent not in (Select child from #table) THEN parent END) as child, Null
FROM #table
Mám veľa nových riadkov s (NULL,NULL), ale 0 riadky s (hodnota NULL). To sa musí nejako vždy preskočte na iné ustanovenie, keď existuje toľko nových riadkov s (NULL, NULL), ale nie sú istí, prečo.
Pomocou SQL Server Management Studio 17. Akákoľvek pomoc je veľmi cenený.