powered by simpleCommunicator - 2.0.41     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Как подсчитать количество записей..
14 сообщений из 14, страница 1 из 1
Как подсчитать количество записей..
    #38965489
Арчи05
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте.

Имеется в таблица следующего вида

Таблица ART id pol1
1 123
1 123
1 456
2 789
2 789

Я выполняю следующий запрос

Код: sql
1.
SELECT COUNT(distinct IIF(id=1,pol1,.NULL.)) FROM ART



Выдает ошибку..

Аналогичный запрос в T-SQL

Код: sql
1.
SELECT COUNT(distinct case when id=1 then pol1 end) FROM ART



Результат должен быть

Результат 2

Проблема возникает со вторым параметром для IIF
...
Рейтинг: 0 / 0
Как подсчитать количество записей..
    #38965604
Арчи05
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Товарищи активней...
...
Рейтинг: 0 / 0
Как подсчитать количество записей..
    #38965639
IgorNG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Арчи05,

SELECT DISTINCT COUNT(IIF(id=1,pol1,.NULL.))
...
Рейтинг: 0 / 0
Как подсчитать количество записей..
    #38965642
IgorNG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Арчи05,

Мне кажется, что результат должен быть 3, а не 2
...
Рейтинг: 0 / 0
Как подсчитать количество записей..
    #38965653
Арчи05
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
IgorNG,

проще говоря необходимо найти количество не повторяющихся строк pol1, где id=1

Вот так,
Код: sql
1.
select count(distinct pol1) from ART where id=1



Но мне нужно реализовать это в SELECT

Таблица ARTid - pol1
1 - 123
1 - 123
1 - 456
2 - 789
2 - 789
...
Рейтинг: 0 / 0
Как подсчитать количество записей..
    #38965656
IgorNG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IgorNG,

Невнимательно прочитал...
...
Рейтинг: 0 / 0
Как подсчитать количество записей..
    #38965866
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Арчи05Вот так,
Код: sql
1.
select count(distinct pol1) from ART where id=1



Но мне нужно реализовать это в SELECTЯННП, ваша версия фокса не поддерживает какие-то из элементов синтаксиса вами же приведённого запроса?
...
Рейтинг: 0 / 0
Как подсчитать количество записей..
    #38965902
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Арчи05Вот так,
Код: sql
1.
select count(distinct pol1) from ART where id=1


В VFP9 этот запрос выполнится.
...
Рейтинг: 0 / 0
Как подсчитать количество записей..
    #38965930
Арчи05
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Полный текст запроса такой.

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
select usl.glpu, usl.mcod, usl.code_md, ;
sum(IIF(idump=3 and t_type=1, 1 ,IIF(idump=6, usl.kol_usl,IIF(idump=5 and t_type=91, usl.kol_usl*usl.tarif*0.76 ,0)))) as profpos, ;
sum(IIF(idump=3 and t_type=2, 1 ,0)) as detprof, ;
sum(IIF(idump=3 and t_type=3, 1 ,0)) as dddet, ;
sum(IIF(idump=3 and t_type=4, 1 ,0)) as ddvzr1, ;
COUNT(distinct IIF(id=44,idstrax,.NULL.)) as ddvzr44, ; && ПРОБЛЕМЫ В ЭТОЙ СТРОКЕ
sum(IIF(idump=3 and t_type=5, 1 ,0)) as detpred, ;
sum(IIF(idump=3 and t_type=6, 1 ,0)) as czpos, ;
sum(IIF(idump=3 and t_type=7, 1 ,0)) as ddvzr2, ;
sum(IIF(idump=3 and t_type=8, 1 ,0)) as profvzr, ;
sum(IIF(idump=3 and t_type=9, 1 ,IIF(idump=5 and t_type!=91, usl.kol_usl*usl.tarif/5.6 ,0))) as obrpol, ;
sum(IIF(idump=3 and t_type=10, 1 ,0)) as detperiod, ;
sum(IIF(idump=3 and t_type=19, 1 ,0)) as dompos, ;
sum(IIF(idump=3 and INLIST(t_type,16,22), 1 ,0)) as neotl, ;
sum(IIF(idump=3 and t_type=33, 1 ,0)) as dddetu, ;
sum(IIF(idump=4, 1 ,0)) as vyzov, ;
SUM(sumv_usl) as sumvs ;
from usl INNER JOIN straxs ON usl.idstrax=straxs.id AND straxs.inogor=.F. ;
inner join sp_tarif  on usl.code_usl=sp_tarif.ksg AND straxs.usl_ok=sp_tarif.idump ;
where straxs.usl_ok in (3,4,5,6) AND BETWEEN(MONTH(usl.date_out),lvmounth,lvmounth2) AND YEAR(usl.date_out)=lvyear and ;
straxs.smo=IIF(lvsmo=2,'05501',IIF(lvsmo=3,'05701',straxs.smo)) ;
group by usl.glpu, usl.mcod, usl.code_md
...
Рейтинг: 0 / 0
Как подсчитать количество записей..
    #38965959
Арчи05
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dima TАрчи05Вот так,
Код: sql
1.
select count(distinct pol1) from ART where id=1


В VFP9 этот запрос выполнится.


Такой запрос выполнится, мне нужно чтобы условие тоже было в SELECT

Как-то такSELECT COUNT(distinct IIF(id=1,pol1,.NULL.)) FROM ART
...
Рейтинг: 0 / 0
Как подсчитать количество записей..
    #38966078
otorva1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Арчи05,

Код: vbnet
1.
select count(distinct pol1) from art where id = 1
...
Рейтинг: 0 / 0
Как подсчитать количество записей..
    #38966081
otorva1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
otorva1Арчи05,

Код: vbnet
1.
select count(distinct pol1) from art where id = 1



Выполняется в Foxpro 2.6 (DOS)
...
Рейтинг: 0 / 0
Как подсчитать количество записей..
    #38966197
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Арчи05Выдает ошибку..Такую?
Cannot determine data type of the expression.Тогда как-то так
Код: sql
1.
SELECT Count(distinct IIF(id=1,pol1,Cast(.NULL. as int))) FROM ART
...
Рейтинг: 0 / 0
Как подсчитать количество записей..
    #38966317
Арчи05
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
tanglirАрчи05Выдает ошибку..Такую?
Cannot determine data type of the expression.Тогда как-то так
Код: sql
1.
SELECT Count(distinct IIF(id=1,pol1,Cast(.NULL. as int))) FROM ART




Спасибо большое, все работает. То что искал!
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Как подсчитать количество записей..
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]