Вопрос подзапроса T-SQL - PullRequest
0 голосов
/ 19 мая 2010

У меня есть два запроса. Для каждого кортежа query1 я хочу запустить query2. я не хочу использовать курсоры. Я попробовал несколько подходов, используя подзапросы.

query1:

select 
    distinct 
    category, 
    Count(category) as CategoryCount
from 
    mytable 
group by 
    category

Query2:

select
   top 3 
   Text,
   Title,
   Category
from
    mytable
where
    Category = '1'

Category = '1' это образец. значение должно исходить из запроса1

1 Ответ

1 голос
/ 19 мая 2010

Попробуйте это

WITH TBL AS
(
SELECT TEXT, TITLE, CATEGORY,
       COUNT(*) OVER(PARTITION BY CATEGORY) AS CATEGORYCOUNT,
       ROW_NUMBER() OVER(PARTITION BY CATEGORY ORDER BY (SELECT 0)) AS RC
FROM MYTABLE
)
SELECT TEXT, TITLE, CATEGORY, CATEGORYCOUNT
FROM TBL
WHERE RC <= 3
ORDER BY CATEGORY
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...