|
|
|
Несколько COUNT(*) в одном запросе
|
|||
|---|---|---|---|
|
#18+
Привет Всем! Вот такая проблема: Например есть таблица doc, содержащая реквизиты документов и исполнителя каждого документа: Doc.doc_id (int) PK Doc.employee_id (int) FK Doc.dateexec (datetime) ... Хотелось бы в одном запросе видеть такую информацию: 1. Кол-во всех документов для каждого исполнителя (numall) 2. Кол-во исполненных с нарушением срока (01/06/2002) для каждого исполнителя (numbad), т.е. с условием: Doc.dateexec > 01/06/2002 3. Кол-во исполненных в срок для каждого исполнителя (numgood), т.е. с условием: Doc.dateexec <= 01/06/2002 Кроме вот этого, ничего путного не получается :( SELECT Doc.employee_id, COUNT(*) AS numall FROM dbo.doc Doc GROUP BY Doc.employee_id Может есть какое решение, буду премного благодарен ??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2002, 17:33:54 |
|
||
|
Несколько COUNT(*) в одном запросе
|
|||
|---|---|---|---|
|
#18+
Может, мне все же сначала протрезветь надо бы, но... Тремя-то запросами быстрее работать-то должно, вроде как... или мне все же пора трезветь... :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2002, 17:40:01 |
|
||
|
Несколько COUNT(*) в одном запросе
|
|||
|---|---|---|---|
|
#18+
Да я в курсе, только вот возможно ли все это в одном запросе сделать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2002, 17:50:48 |
|
||
|
Несколько COUNT(*) в одном запросе
|
|||
|---|---|---|---|
|
#18+
Можно. Просто я этих кэйзов не люблю. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2002, 17:52:13 |
|
||
|
Несколько COUNT(*) в одном запросе
|
|||
|---|---|---|---|
|
#18+
Select Employers.Employer_id, (Select Count(*) From Doc Where Doc.Employer_id=Employers.Employer_Id) As NumAll, (Select Count(*) From Doc Where Doc.Employer_id=Employers.Employer_Id And Doc.dateexec > '20020601' ) As NumBad, (Select Count(*) From Doc Where Doc.Employer_id=Employers.Employer_Id And Doc.dateexec <= '20020601' ) As NumGood From Employers В MS SQL будет работать, если исполнители хранятся в таблице Employers ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2002, 18:18:52 |
|
||
|
Несколько COUNT(*) в одном запросе
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. эт одним запросом... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2002, 20:28:44 |
|
||
|
Несколько COUNT(*) в одном запросе
|
|||
|---|---|---|---|
|
#18+
а можно и так.... Код: plaintext 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2002, 20:33:03 |
|
||
|
|

start [/forum/topic.php?fid=46&tid=1819338]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
42ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
52ms |
get tp. blocked users: |
2ms |
| others: | 267ms |
| total: | 406ms |

| 0 / 0 |
