복붙노트

[SQL] 제외 조항에 대한 액세스 대체

SQL

제외 조항에 대한 액세스 대체

어떻게 내가 MS 액세스에서 아래의 SQL 코드를 얻을 것 같은 결과를 얻을 수 있나요? 이 절을 제외한를 인식하지 않습니다 ...

SELECT DISTINCT 
       P.Name, 
       T.Training
  FROM Prof AS P, 
       Training_done AS TC, 
       Trainings AS T
 WHERE (P.Name Like '*' & NameProf & '*') 
   AND (P.Primary_Area = T.Cod_Area)
EXCEPT
SELECT DISTINCT 
       P.Name, 
       T.Training
  FROM Prof AS P, 
       Training_done AS TC, 
       Trainings AS T
 WHERE (P.Name Like '*' & NameProf & '*') 
   AND (P.Cod_Prof = TC.Cod_Prof);

사전에 감사합니다!

해결법

  1. ==============================

    1.위해 조건을 결합하고 두 번째 상실 될 수 있습니다 당신을 제외하고 없애 :

    위해 조건을 결합하고 두 번째 상실 될 수 있습니다 당신을 제외하고 없애 :

    SELECT DISTINCT 
           P.Name, 
           T.Training
      FROM Prof AS P, 
           Training_done AS TC, 
           Trainings AS T
     WHERE ((P.Name Like '*' & NameProf & '*') AND
            (P.Primary_Area = T.Cod_Area)) 
       AND NOT ((P.Name Like '*' & NameProf & '*') AND
                (P.Cod_Prof = TC.Cod_Prof));
    
  2. ==============================

    2.

    SELECT A.x FROM A
    EXCEPT
    SELECT B.x FROM B
    

    대응에

    SELECT A.x FROM A 
    LEFT JOIN B 
    ON A.x = B.x 
    WHERE B.x IS NULL
    
  3. ==============================

    3.> 쿼리 마법사 만들기> MS Access에서 찾기 타의 추종을 불허하는 마법사를 사용하여 다음과 같은 결과를 얻을 수

    > 쿼리 마법사 만들기> MS Access에서 찾기 타의 추종을 불허하는 마법사를 사용하여 다음과 같은 결과를 얻을 수

    연합 내가 대신 하위 쿼리를 사용하는 조합에 몇 테이블을 사용하는 별도의 액세스 쿼리입니다

    SELECT TableMain.Field1
    FROM TableMain LEFT JOIN [Union] ON TableMain.[Field1] = Union.[field1]
    WHERE (((Union.field1) Is Null));
    
  4. ==============================

    4.아니 명시 적으로 여기 예,하지만이 개 가져온 테이블을 UNION이 - 보내고 그 노동 조합, 특정 필드의 조합 미만 2 개 인스턴스가 쌍에서, 선택하는 것이 좋습니다. 이것은 각 테이블 필드의 조합에 대해 동일한 값을 갖는 레코드의 하나 개 이상의 인스턴스를 갖는 경우,이 기록은 동일하며, 결과 세트로부터 제거 될 수 있다는 것을 의미한다. 어디 있지, 그들은 다른 테이블에 일치하는 항목이 없습니다 선택한 테이블의 레코드 만 술책을 떠나, 하나 개의 테이블에 고유합니다. 종류 가난한 남자의 "EXCEPT"KW 등을.

    아니 명시 적으로 여기 예,하지만이 개 가져온 테이블을 UNION이 - 보내고 그 노동 조합, 특정 필드의 조합 미만 2 개 인스턴스가 쌍에서, 선택하는 것이 좋습니다. 이것은 각 테이블 필드의 조합에 대해 동일한 값을 갖는 레코드의 하나 개 이상의 인스턴스를 갖는 경우,이 기록은 동일하며, 결과 세트로부터 제거 될 수 있다는 것을 의미한다. 어디 있지, 그들은 다른 테이블에 일치하는 항목이 없습니다 선택한 테이블의 레코드 만 술책을 떠나, 하나 개의 테이블에 고유합니다. 종류 가난한 남자의 "EXCEPT"KW 등을.

  5. from https://stackoverflow.com/questions/15980525/access-substitute-for-except-clause by cc-by-sa and MIT license