이NULL의 표 2의 결과에 참여 왼쪽 다음 표 2 플래그
INSERT INTO Table1
VALUES ('Record 1'), ('Record 2'), ('Record 3')
INSERT INTO Table2
VALUES ('test 1',1,1), ('test 2',1,0), ('test 3',1,1),
('test 1',2,0), ('test 2',2,1), ('test 3',2,2)
같은 값이 2 테이블
CREATE TABLE Table1 (
Table1_Key INT IDENTITY(1,1),
Info NVARCHAR(50),
PRIMARY KEY (Table1_Key)
);
CREATE TABLE Table2 (
Table2_Key INT IDENTITY(1,1),
Info_table2 NVARCHAR(50),
Table1_FKey INT,
Flag BIT NOT NULL,
PRIMARY KEY (Table2_Key,Table1_FKey),
FOREIGN KEY (Table1_FKey) REFERENCES Table1(Table1_Key)
);
을 갖는 결과에 어떻게 LEFT JOIN
Table2
과 함께 할 수 있다는 것을 모두 Table1
을 선택하고 Table2
AND
Table2
값의 Flag
에 1을 입력하십시오.
예상 결과 :
Table1_Key Info Table2_Key Info_table2 Table1_FKey Flag
------------------------------------------------------------------
1 Record 1 NULL NULL NULL NULL
2 Record 2 NULL NULL NULL NULL
3 Record 3 NULL NULL NULL NULL
1 Record 1 1 test 1 1 1
1 Record 1 3 test 3 1 1
2 Record 2 5 test 2 2 1
2 Record 2 6 test 3 2 1
는 내가하는 할 노력하고있어 참여가 작동하지 않습니다 :
SELECT * FROM Table1
LEFT JOIN Table2
ON Table1_FKey = Table1_Key
WHERE Flag = 1
'WHERE'을'AND '로 변경하면'왼쪽 결합 '동작이 적용됩니다. – HoneyBadger
또는 내부 조인을 사용합니다. –
운영 명령 문제입니다. 조인은 널 (null) 레코드 작성을 _}시킵니다. 그런 다음 flag = 1을 말하면서 제외시킵니다. 제한을 유지하려면 조인을 제한으로 이동하여 조인의 일부로 제한이 적용되고 Null 레코드가 유지됩니다. 'LEFT JOIN table2 on Table1_FKEY = Table1_key AND flag = 1' – xQbert