0

次のクエリに対して「結果が返されません」というメッセージが表示されます。

SELECT 
    Referer 
FROM 
    (SELECT 
        ROW_NUMBER() OVER (ORDER BY CT.Referer ASC) AS RowNum, 
        CT.Referer, CT.LastModified
     FROM 
        ClickTrack CT 
     JOIN 
        OrderTrack OT ON OT.ClickTrackID = CT.ClickTrackID              
     GROUP BY 
        CT.Referer, CT.LastModified
     HAVING 
        LEN(CT.Referer) > 0) as num 
WHERE 
    RowNum = 1 
    AND LastModified BETWEEN '07/06/2013' and '08/05/2013'

興味深いことに、off を終了するRowNum = 1と、値の完全なリストが表示されます。変数に割り当てて一時テーブルにドロップするには、一度に 1 つずつ取得する必要があります。

RowNum最後のクエリは、日付範囲と比較の代わりにスカラー変数を使用する while ループになります。

どんな助けでも大歓迎です。ありがとうございました!

4

1 に答える 1

1

RowNum 1 には、あなたの選択の間に日付がない可能性があると思います。最初の日付が一致することがわかるように、日付の選択を中に入れてください。

    SELECT Referer 
    FROM (SELECT ROW_NUMBER() OVER (ORDER BY CT.Referer ASC) 
    AS RowNum, CT.Referer, CT.LastModified
    FROM ClickTrack CT 
    JOIN OrderTrack OT ON OT.ClickTrackID = CT.ClickTrackID    
    WHERE CT.LastModified BETWEEN '07/06/2013' and '08/05/2013'          
    GROUP BY CT.Referer, CT.LastModified
    HAVING LEN(CT.Referer) > 0) as num 
    WHERE RowNum = 1 
于 2013-08-07T21:59:04.533 に答える