SQL 쿼리는 태그와 태그가 지정되지 않은 항목을 반환하는 많은 항목에 태그가없는 모든 항목과 태그를 나열하는 쿼리를 작성하십시오. 둘 다 할 수있는 쿼리를 찾을 수 없습니다.태그 : 내가 3 개 테이블이 어디 태그를 통합되고 'toxi'스키마 갔다 데이터베이스를 짓고 있어요
다음 쿼리는 이름이 태그 인 항목을 가져 오지만 에 태그가있는 항목 만 가져옵니다. 그들이 태그 된 경우
SELECT Items.Item, Tags.Tag
FROM Items INNER JOIN
(Tags INNER JOIN TagMap ON Tags.ID = TagMap.TagId)
ON Items.ID = TagMap.ItemId;
다음 쿼리는 항목과 TagIDs 저 모두를 얻을 수 있지만, 나는 하나의 쿼리에서 TagNames에 그 TagIDs를 변환하는 다음 단계로 얻을 수없는 것.
SELECT [Items].Item, [TagMap].TagId
FROM Items LEFT JOIN TagMap ON [Items].ID=TagMap.ItemId;
는 "내부 조인 다중 테이블 조인,하지만 INNER가 외부 조인 내부에 중첩 될 수 없습니다 JOIN을 내부에서 외부 중첩 될 수 있습니다 조인"라고하지만 조인 두 개의 중첩의 방법을 찾을 수 없습니다 오류가 발생하지 않습니다. 내가 볼 수있는 한 LEFT JOIN이 항목에 있어야합니다.
개념 증명 데이터베이스가 내 컴퓨터에 이미 설치되어 있기 때문에 Access에서 작업하고 있습니다. 아마 어느 시점에서 SQL Server로 전환 할 것입니다.
감사합니다. 그게 효과가 있었어. 내가 물어볼 수 있다면, 왜 다른 LEFT JOIN인가? 나에게 태그의 매핑은 실제로 내부 조인이어야하는 것처럼 보였다. – alwayssummer
@alwayssummer - np, 기꺼이 도와 드리겠습니다. TagMap 및/또는 Tags 테이블에 레코드가없는 경우 LEFT JOIN을 사용하려고합니다. 이렇게하면 Items.Task 필드가 항상 나타나지만 잠재적으로 TagId 및/또는 TagName 필드에 대한 NULL 값을받습니다 (예를 들어). 행운을 빌어 요! – sgeddes