0

このクエリに、実行しas clicks たいサブクエリwhere clicks > 0がありますが、これが認識された列ではないというエラーが表示されます。

SELECT top 10 *, (select count(*) FROM po_events aeclk WITH(NOLOCK) where (aeclk.[source] = ae.[source]) as clicks

FROM archived_events ae with(NOLOCK) 
where clicks > 0
4

1 に答える 1

1

これは重複の可能性があるというコメントに同意しますが、相関サブクエリは非効率的である可能性があることも指摘したいと思います。1つの石で2羽の鳥を殺すと、次のようなことができます。

SELECT TOP 10
        ae.*
      , aeclk.clicks
FROM    archived_events ae
        JOIN ( SELECT   source
                      , COUNT(*) AS clicks
               FROM     po_events
               GROUP BY source
             ) aeclk ON aeclk.[source] = ae.[source]
WHERE   clicks > 0
于 2012-11-12T01:36:42.633 に答える