2013-02-13 4 views
-3

tblSales:Basic SQL запросов без использования подзапроса

EmployeeID, 
DailyDate, 
Sales# 

Как я могу сделать запрос, который возвращает сколько дней каждый сотрудник имел наименьшее количество продаж #?

Я специально хочу запустить его из одного оператора SQL, я исследовал это, но я просто могу понять это! Спасибо

+4

Пожалуйста, можете ли источники downvoters обосновать свои голоса? (Я отменил свой собственный downvote после того, как вопрос был обновлен, чтобы включить структуру таблицы.) –

ответ

2

Я немного смущен, так как название и содержание этого вопроса, похоже, не коррелируют. Название относится к подформе, которая не представляется актуальной. В этом вопросе также говорится, что вы можете сделать это с помощью подзапроса, но вы хотите сделать это в одном из операторов, но запрос с подзапросом по-прежнему остается одним из утверждений.

Как таковой я беру с вопроса ваш главный вопрос: «Как я могу сделать запрос, который возвращает, сколько дней у каждого сотрудника был наименьший объем продаж?», и тот факт, что вы хотите достичь этого в один заявление. В этом случае вы можете использовать:

SELECT T.EmployeeID, 
     COUNT(*) AS MinDays 
FROM YourTable T 
     INNER JOIN 
     ( SELECT DailyDate, MIN([Sales#]) AS MinSales 
      FROM YourTable 
      GROUP BY DailyDate 
     ) T2 
      ON T2.DailyDate = T.DailyDate 
      AND T2.[MinSales] = T.[Sales#] 
GROUP BY T.EmployeeID; 
+0

Пожалуйста, см. Отредактированный вопрос, Спасибо –

+0

Является ли запрос, который я опубликовал, не служит этой цели? – GarethD

+0

Извините, я очень новичок в SQL, поэтому есть хорошие шансы, что я делаю что-то не так, я получаю сообщение об ошибке «Циркулярная ссылка, вызванная псевдонимом« Продажи »в списке SELECT запроса. –