Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.09.19;
Скачать: CL | DM;

Вниз

SQL-запрос ???   Найти похожие ветки 

 
vicky ©   (2004-08-20 10:51) [0]

Подскажите плиз что надо добавить в запрос, который выдет число активированных карт каждого дилера, чтобы он выдавал еще число карт каждого номинала. Т.е. есть запрос:

SELECT D.name, count(C.idcard) AS CardsAmount
FROM cards AS C INNER JOIN dillers AS D ON D.id=C.numdiller
WHERE C.status="ИСПОЛЬЗОВАНА" And C.statuschange Is Not Null
GROUP BY D.name;

Выдает он данные типа:
Дилер1  3
Дилер2  8

где {3,8} общее число карт, а надо чтобы он это число разбивал по номиналу т.е. 3   1-5
                 2-10
             8   2-5
                 4-20
                 2-10  
(таблица cards:
idcard
seria
nominal
status
numdiller
statuschange)


 
Соловьев ©   (2004-08-20 10:55) [1]

групировать еще и по номиналу


 
vicky ©   (2004-08-20 11:14) [2]

Как ?
Если так:

SELECT D.name,  count(C.idcard) AS CardsAmount, C.nominal
FROM cards AS C INNER JOIN dillers AS D ON D.id=C.numdiller
WHERE C.status="ИСПОЛЬЗОВАНА" And C.statuschange Is Not Null
GROUP BY D.name, C.nominal;

то результирующая выборка данных:

name    CardsAmount   nominal
дилер1     2             5
дилер2     2             5

тогда как у дилера 2 2 номинала, например ...
???


 
Соловьев ©   (2004-08-20 11:16) [3]


> count(C.idcard)

count(C.nominal)


 
Sandman25 ©   (2004-08-20 11:18) [4]

count(*)


 
vicky ©   (2004-08-20 11:23) [5]


SELECT D.name,  count(C.idcard) AS CardsAmount, count(C.nominal) AS numNominal
FROM cards AS C INNER JOIN dillers AS D ON D.id=C.numdiller
WHERE C.status="ИСПОЛЬЗОВАНА" And C.statuschange Is Not Null
GROUP BY D.name, C.nominal;


не помогло... выставила у все активированных карт один номинал (5), а запрос выдает:
name    CardsAmount   NumNominal
дилер1     2             2
дилер2     2             2


 
vicky ©   (2004-08-20 11:28) [6]

SELECT D.name,  count(C.nominal) AS numNominal
FROM cards AS C INNER JOIN dillers AS D ON D.id=C.numdiller
WHERE C.status="ИСПОЛЬЗОВАНА" And C.statuschange Is Not Null
GROUP BY D.name, C.nominal;

Тоже ерунда получается :(((
name      NumNominal
дилер1     2            
дилер2     2


 
Sandman25 ©   (2004-08-20 11:28) [7]

SELECT D.name,  count(*) AS CardsAmount, C.nominal


 
vicky ©   (2004-08-20 11:50) [8]

Результат:
name                CardsAmount nominal
ПБОЮЛ Дилер1         1         5
ПБОЮЛ Дилер1         1          10
ПБОЮЛ Дилер2         1         5
ПБОЮЛ Дилер2         1         10

Thanx...А как теперь вывести в отчет, так чтобы имя дилера повторялось только один раз и суммировалось все-таки общее число карт каждого дилера, т.е. типа:
name                CardsAmount nominal
ПБОЮЛ Дилер1         2         5
                             10
ПБОЮЛ Дилер2         2         5
                             10
???


 
Соловьев ©   (2004-08-20 11:53) [9]

Девушка, ну надо хоть чуть-чуть подумать... ну нельзя же так.


 
vicky ©   (2004-08-20 12:13) [10]

А раз Вы знаете, Вам что трудно подсказать домохозяйке :))) которая плохо шарит в делфи ???


 
Sandman25 ©   (2004-08-20 12:16) [11]

[10] vicky ©   (20.08.04 12:13)

Данная задача принципиально отличается от предыдущей. И должна решаться не только запросом, но и средством получения отчетов.


 
Соловьев ©   (2004-08-20 12:16) [12]


> Вам что трудно подсказать домохозяйке :))) которая плохо
> шарит в делфи ???

нет, не трудно
А зачем домохозяйке шарить в делфи? причем про дилеров что-то :) Вы там что наркотиками торгуете?


 
vicky ©   (2004-08-20 12:24) [13]

2 Sandman25 © [11]

Отчет у меня выводится в Excel :

while not SQL.Eof do begin
   XLApp.WorkBooks[1].WorkSheets[1].Cells[11+i,2] := Fields[0].AsString;
   XLApp.WorkBooks[1].WorkSheets[1].Cells[11+i,4] := Fields[1].AsString;
   XLApp.WorkBooks[1].WorkSheets[1].Cells[11+i,5] := Fields[2].AsString;
   i:=i+1;
   Next;
end;


??? Но как устрагить повторы и суммировать обшее число на кадого дилера я по-прежнему не знаю :(((


 
vicky ©   (2004-08-20 12:37) [14]

2 Соловьев ©   (20.08.04 12:16) [12]
А если не трудно, так подскажите ...


 
Sandman25 ©   (2004-08-20 12:39) [15]

>Но как устрагить повторы

Неужели это не очевидно? Сравнив текущего дилера с предыдущим.



Страницы: 1 вся ветка

Текущий архив: 2004.09.19;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.034 c
3-1093265990
Kraj
2004-08-23 16:59
2004.09.19
Уменьшить базу


3-1092968740
Dub
2004-08-20 06:25
2004.09.19
Копирование таблиц


14-1093917347
Думкин
2004-08-31 05:55
2004.09.19
С днем рождения!


4-1091733496
Alex870
2004-08-05 23:18
2004.09.19
Процессы и трэды


1-1094123427
alex732
2004-09-02 15:10
2004.09.19
Всегда OnTOP