추가로 새 행이(가치,NULL)하는 여러 상위 계층

0

질문

나는 여러 상위 계층으로 구성된 100k+기록합니다. 이것은 작은 하위.

1 2
1 3
2 3

이를 통해 각각의 값을 열에서 부모와 확인하는 경우에는 동일한 가치도 존재한 열에 있는 아이입니다. 하지 않는 경우,다음 행을 만들 수로(가치,NULL). 이 예제에서 값 3 에 존재하지 않는 아이는 열 그래서 나는 그것을 필요로 새 행을 만듭으로 값(3,NULL).

3 NULL
1 2
1 3
2 3

내 코드는 오류를 반환하지는 않지만 무엇을 원하는지 확인하여 주십시오.

INSERT IGNORE INTO #table (child, parent)
SELECT (CASE WHEN parent not in (Select child from #table) THEN parent END) as child, Null
FROM #table

나는 많은 새로운 행을(NULL,NULL)0 하지만 행로(가치,NULL). 그것은 어떻게든 해야 합니다 항상 건너뛰는 다른 절에 있을 때 너무 많은 새로운 행을(NULL,NULL)지 않을 확인하세요.

SQL 사용하여 서버 관리 스튜디오 17. 어떤 도움을 진심으로 감사합니다.

parent-child sql sql-server
2021-11-23 14:41:35
1

최고의 응답

1

를 사용해서는 안 됩 case 여기에,그러나 자기 왼쪽에 가입하는 대신:

INSERT IGNORE INTO #table (child, parent)
SELECT DISTINCT t1.parent, NULL
FROM #table t1
LEFT JOIN #table t2
    ON t1.parent = t2.child
WHERE t2.child IS NULL

라이브 데모에 Db<>바이올린

2021-11-23 14:53:26

다른 언어로

이 페이지는 다른 언어로되어 있습니다

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................