왼쪽 첫 번째 테이블에서 모든 결과를 반환하지 않습니다 참여
----------------------------
Id | Name | Description |
----------------------------
1 One The number one
2 Two The number two
3 Three The number three
을 다음과 그리고 다른 테이블 (user_number)이 그 특정 이러한 값을 참조하지만 나는, 참조 (수)에 사용되는 테이블이 사용자
--------------------------
Id | User_Id | Number_Id |
--------------------------
1 400 1
2 400 2
첫 번째 표의 모든 결과를 검색하고 싶지만 그 결과도 일치하는 부분을보고 싶습니다. 나는 다음과 같은 쿼리를 사용하려고했지만 그것은 단지 내부는
SELECT n.Id, n.Name, n.Description, un.Id As Active_Number
FROM number n
LEFT JOIN user_number un
ON n.Id = un.Id
WHERE un.User_Id = 400;
이 쿼리 반환 반환 가입 무엇을 반환 그러나이 숫자의 값의 세 번째 세트를 반환하지 않습니다
[
{
"Id": 1,
"Name": "One",
"Description": "The number one",
"Active_Number": 1
},
{
"Id": 2,
"Name": "Two",
"Description": "The number two",
"Active_Number": 2
}
]
을 표.
물론, 'WHERE' 절을 참고하십시오. – zipa
에 대한 다중 연결을 언제 수행 할 것인가? –
1. 원하는 출력에 대한 부분적인 설명과 잘못된 쿼리의 제안에 동의하지 않는 부분 설명 - = 400을 언급하지 않았으므로. 실제로 원하는 출력이 입력과 어떻게 유사하게 보이는지 실제로 말하지는 않습니다. 2. 왼쪽 조인의 * 정의 *를 읽습니다. null로 확장 된 내부 조인 행과 일치하지 않는 왼쪽 테이블 행을 반환합니다. 모든 왼쪽 테이블이 참여하기 때문에 왼쪽 조인을 원한다고 생각되면 연관된 내부 조인이 무엇인지 명확히하십시오. 또한 400이없는 곳에서는 명확하게 어디서나 ids를 반환 할 수 없기 때문에 잘못되었다는 것을 알 수 있습니다. – philipxy