SQL-запрос: как объединить результат функции подсчета в запрос на выборку? - PullRequest
1 голос
/ 10 апреля 2009
select distinct Franchise.FranchiseName, Franchise.Initials, Franchise.StoreNo, AccountCancellation_Process.Store_Num 
FROM FranchiseData
INNER JOIN AccountCancellation_Process
on FranchiseData.StoreNo = AccountCancellation_Process.Store_Num

select count(*) from AccountCancellation_Process where Store_Num = '1234' 
select count(*) from AccountCancellation_Process where Store_Num = '1234' and Progress is not null

Я хочу объединить счетчик (*) из AccountCancellation_Process в приведенный выше оператор внутреннего соединения, чтобы запрос дал мне результат FranchiseName, Initials, StoreNo из таблицы Franchise и Store_Num из AccountCancellation_Process с общими записями и общей записью Столбец прогресса не нулевой.

как объединить результат запроса с результатом функции count?

спасибо.

Ответы [ 2 ]

2 голосов
/ 10 апреля 2009

Как я думаю, это то, что вы хотите. Я создал два подзапроса, коррелированных по значению таблицы, чтобы получить данные на основе сохраненного числа во внутренней таблице соединений. Затем я присоединяюсь к ним на основании номера магазина. Таким образом, отличное будет работать. Но вы также можете выполнить подсчет в выбранной части, используя только коррелированные подзапросы. Я был обеспокоен тем, что отличное может не сработать.

SELECT DISTINCT Franchise.FranchiseName, Franchise.Initials, Franchise.StoreNo, acp.Store_Num, total_count.Total_Count, progress_count.Progress_Count
FROM FranchiseData
     INNER JOIN AccountCancellation_Process AS acp ON (FranchiseData.StoreNo = acp.Store_Num)
     INNER JOIN (SELECT Store_Num, COUNT(*) AS Total_Count FROM AccountCancellation_Process WHERE Store_Num = acp.Store_Num) AS total_count ON (acp.Store_Num = total_count.Store_Num)
     INNER JOIN (SELECT Store_Num, COUNT(*) AS Progress_Count FROM AccountCancellation_Process WHERE Store_Num = acp.Store_Num AND Progress IS NOT NULL) AS progress_count ON (acp.Store_Num = progress_count.Store_Num)
1 голос
/ 10 апреля 2009

Псевдоним количество (*), затем использовать сумму (псевдоним)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...