2017-10-10 196 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

爲什麼你不使用'c.Clubstatus'('E','I')'?就是想。 –

+1

@WEI_DBA只是沒有修復該部分。 :) –

+0

在他的查詢中,OP具有可維護性和括號內的第一個連接。這在sql server中有什麼區別嗎? – GuidoG