이 항목은 약간 올랐지 만 내가 찾은 답변 중 아무 것도 저에게 효과가 없었습니다.LEFT 테이블에서 모든 행을 반환하지 않는 LEFT 조인
내가 1 30 아래 DATA라는 두 번째 테이블에서 값을 연결 열에 번호 중 하나를 열입니다 테이블 일에서 모든 값을 가지고 두 개의 테이블에 가입 할:
Ref Week_Comm Date Name Adj_Type Hours Description Sick_Note Deleted
223 04-Apr-17 04-Apr-17 Joe Bloggs Absence 4 Sickness RECD
112 04-Apr-17 05-Apr-17 Joe Bloggs Absence 7 Sickness RECD
196 04-Apr-17 06-Apr-17 Joe Bloggs Absence 7 Sickness RECD
197 11-Apr-17 11-Apr-17 Fred Flintstone Holiday 7
내 원하는 결과를
Day April
1
2
3
4 A 4Hrs
5 A 7Hrs
6 A 7Hrs
7
8
etc to 30
연결이 잘 작동하지만 올바른 테이블과 일치하는 위치에서만 결과를 얻을 수 있습니다.
SQL을 Excel VBA에 문자열로 만들고 ODBC 연결을 사용하여 데이터를 반환합니다. 표는 동일한 스프레드 시트에 포함되어 있습니다.
내 첫 번째 시도는이 날 결과를 제공
SELECT DAYS.Day, (LEFT(DATA.Adj_Type,1) + ' ' + Cstr(DATA.Hours) + ' Hrs') as April
FROM DAYS
LEFT OUTER JOIN DATA ON (DAYS.Day = DAY(DATA.Date)
WHERE (MONTH(DATA.Date)=4) AND (DATA.Deleted Is Null) AND (DATA.Name='Joe Blogs'))
ORDER BY DAYS.Day
을 다음과 같이이었다 내부 조인을 위해이 비슷한 질문에 내 왼쪽 테이블 일에서
다음 답변을 모든 값을 반환하지 않습니다 즉, 포럼 나는"지원되지 EXPRESSION 가입하기"로와이 데이터를 반환하지
SELECT DAYS.Day, (LEFT(DATA.Adj_Type,1) + ' ' + Cstr(DATA.Hours) + ' Hrs') as April
FROM DAYS
LEFT OUTER JOIN DATA ON ((DAYS.Day = DAY(DATA.Date)
AND (MONTH(DATA.Date)=4) AND (DATA.Deleted Is Null) AND (DATA.Name='Joe Blogs'))
ORDER BY DAYS.Day
다음과 나는 오류로 WHERE 교체 시도
은 그때 그들에 가입 한 후 내 테이블에 원하는 데이터를 선택하고 시도 :
SELECT DAYS.Day
FROM DAYS AS A
LEFT JOIN (SELECT DAY(DATA.Date) AS Day, (LEFT(DATA.Adj_Type,1) + ' ' + Cstr(DATA.Hours) + ' Hrs') as April
FROM DATA
WHERE (MONTH(DATA.Date)=4) AND (DATA.Deleted Is Null) AND (DATA.Name='Joe Blogs')) as B
ON A.Day = B.Day
을 그리고 오류 메시지가
FROM 절
에서
구문 오류 나는 어디로 잘못 가고 있니? 나는 사전에
덕분에이 모든 아주 초보자이야와 구글을 통해 내 정보의 대부분을 얻을 - 저스틴
내가 여분의 별명을 편집 한 (위와 같이)하지만 여전히 같은 결과를 얻고있다 EDIT .
당신의 테이블의 이름이 DAYS와 DATA 인 것 같습니다. 왜 FROM 절에서 DATA DATA와 DAYS DAYS를 반복합니까? – MarcinSzaleniec
marcinszaleniec이 주석 처리 했으므로 특히이 라인을 평일부터 사용하면 두번 앨리어스가됩니다 – QHarr
* right * 테이블을 참조 할 때마다 where 절이 아닌 join 절을 사용해야합니다. where 절의 오른쪽 테이블에 대해 필터를 사용하면 외부 조인이 내부 조인으로 바뀝니다. 일치하는 행이 있는지 여부를 알 수있는 유일한 방법이기 때문에 외부 조인을 내부 조인으로 바꿉니다. 물론 기본 구문을 먼저 이해해야합니다. 왜 당신은 일 (또는 일)로 에일리어싱을하고 있습니까? –