2017-10-10 1 views
0

모든 클럽의 레코드를 가져 오는이 쿼리는 레코드 당 레코드를 확인합니다. NULL 열은 어떤 역할도하지 않습니다. Howerver 내가 NULL을 가득 채웠다. 이것은 NULL이 존재하지 않는다는 것을 의미합니다. 이 쿼리는 cfquery를 사용하여 202 레코드를 가져오고 MSSQL 2014에서는 204 레코드를 가져옵니다.쿼리는 SQL보다 작은 레코드를 얻습니다.

cfquery에서 일부 레코드를 가져올 수없는 상황을 알려주십시오. 정확한 쿼리는 MSSQL 2014에서 완벽하게 작동합니다.

SELECT tblDistrict.IDDist, 
      tblClubs.IDDiv, 
      tblClubs.ClubArtStart, 
      tblClubs.IDClub, 
      tblClubs.ClubName, 
      tblDivisionen.DivBezeichnung, 
      tblDivisionen.Region, 
      tblClubs.OrgDatum, 
      tblClubs.ChartDatum, 
      tblClubs.ClubStatus, 
      tblClubs.ClubArt, 
      tblClubs.Clubort 

    FROM (tblDistrict 
       INNER JOIN tblDivisionen ON tblDistrict.IDDist = tblDivisionen.IDDist) 

      INNER JOIN tblClubs ON tblDivisionen.IDDiv = tblClubs.IDDiv 

      WHERE (((tblDistrict.IDDist)=1)) AND Clubstatus<>'E' AND Clubstatus<>'I' 
+0

왜 Clubstatus null이있는 행을 선택하지 않았습니까? 질문 – MiloBellano

+0

을 이해하면 프로필러를 사용하여 정확한 명령이 데이터베이스로 전송되는지 확인하십시오. 어쩌면 조금 다르다. – GuidoG

+0

메인 테이블과 첫 번째 대괄호가 대괄호 안에 들어있는 이유는 무엇일까요? – GuidoG

답변

0

일부 서식 지정 및 별칭 지정으로 시작합니다. 귀하의 질의는 다음과 같이 보일 것입니다. 이것은 훨씬 더 유지 보수가 될 것입니다.

SELECT d.IDDist 
    , c.IDDiv 
    , c.ClubArtStart 
    , c.IDClub 
    , c.ClubName 
    , div.DivBezeichnung 
    , div.Region 
    , c.OrgDatum 
    , c.ChartDatum 
    , c.ClubStatus 
    , c.ClubArt 
    , c.Clubort 
FROM tblDistrict d 
INNER JOIN tblDivisionen div ON d.IDDist = div.IDDist 
INNER JOIN tblClubs c ON div.IDDiv = c.IDDiv 
WHERE d.IDDist = 1 
    AND c.Clubstatus not in ('E', 'I') 
+1

왜 '('E ','I ')가 아닌'c.Clubstatus를 사용하지 않습니까? 그냥 궁금해. –

+1

@WEI_DBA는 그 부분을 수정하지 않았습니다. :) –

+0

그의 질문에 OP는 메인 테이블과 첫 번째 괄호 안에 들어 있습니다. 그 SQL 서버에 어떤 차이가 있습니까? – GuidoG

관련 문제