Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / ЧТО ДЕЛАТЬ?HELP!!!! select count (distinct pole1) from tabl1 grouped by pole2) / 21 сообщений из 21, страница 1 из 1
17.01.2004, 14:32
    #32379279
Olkasu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ЧТО ДЕЛАТЬ?HELP!!!! select count (distinct pole1) from tabl1 grouped by pole2)
Ребята мучаюсь 2-ой день с этим .....(нецензурное выражение) запросом
select count (distinct pole1) from tabl1 grouped by pole2
если пишу
select count(pole1) from (select distinct pole1 from tabl1 grouped by pole2) -
понятно не работает, а если
select count(pole1) from (select distinct pole1 from tabl1) grouped by pole2 -
то он не "видит" pole2
ЧТО ДЕЛАТЬ?
...
Рейтинг: 0 / 0
17.01.2004, 14:45
    #32379288
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ЧТО ДЕЛАТЬ?HELP!!!! select count (distinct pole1) from tabl1 grouped by pole2)
select count(*) from tabl1 group by pole1, pole2
...
Рейтинг: 0 / 0
17.01.2004, 15:38
    #32379302
Olkasu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ЧТО ДЕЛАТЬ?HELP!!!! select count (distinct pole1) from tabl1 grouped by pole2)
авторselect count(*) from tabl1 group by pole1, pole2,
sorry, не понятно
...
Рейтинг: 0 / 0
17.01.2004, 15:43
    #32379305
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ЧТО ДЕЛАТЬ?HELP!!!! select count (distinct pole1) from tabl1 grouped by pole2)
Похоже, я ошибся. Надо так:

select count(*) from tabl1 group by pole1
...
Рейтинг: 0 / 0
17.01.2004, 15:49
    #32379306
Olkasu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ЧТО ДЕЛАТЬ?HELP!!!! select count (distinct pole1) from tabl1 grouped by pole2)
Спасибо конечно, но надо group by pole2
...
Рейтинг: 0 / 0
17.01.2004, 15:53
    #32379307
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ЧТО ДЕЛАТЬ?HELP!!!! select count (distinct pole1) from tabl1 grouped by pole2)
Ну, поскольку pole1 усиленно упоминалось в вопросе, то я не мог подумать, что в ответе оно не нужно.
...
Рейтинг: 0 / 0
17.01.2004, 17:12
    #32379327
Olkasu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ЧТО ДЕЛАТЬ?HELP!!!! select count (distinct pole1) from tabl1 grouped by pole2)
Назрел по ходу другой вопрос по поводу функции distinct.
Если в таком запросе все понятно
select count (distinct pole1),count (distinct pole3) from tabl1 grouped by pole2
то в этом случае она действует на 2 поля или на одно?
select count(pole1),count(pole3) from (select distinct pole1,pole3 from tabl1)
...
Рейтинг: 0 / 0
17.01.2004, 17:17
    #32379328
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ЧТО ДЕЛАТЬ?HELP!!!! select count (distinct pole1) from tabl1 grouped by pole2)
А разве это правильный SQL? Разве можно ставить distinct при названии поля? Хелп гласит, что distinct ставится после слова select и действует на весь запрос, а не на отдельные поля.
...
Рейтинг: 0 / 0
17.01.2004, 17:21
    #32379330
Olkasu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ЧТО ДЕЛАТЬ?HELP!!!! select count (distinct pole1) from tabl1 grouped by pole2)
авторА разве это правильный SQL?
1-ый или 2-ой?
...
Рейтинг: 0 / 0
17.01.2004, 17:22
    #32379331
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ЧТО ДЕЛАТЬ?HELP!!!! select count (distinct pole1) from tabl1 grouped by pole2)
Сорри. 1-й. Разве он будет работать в Аксессе?

2-й точно правильный, и distinct действует на весь запрос.
...
Рейтинг: 0 / 0
17.01.2004, 17:24
    #32379334
Olkasu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ЧТО ДЕЛАТЬ?HELP!!!! select count (distinct pole1) from tabl1 grouped by pole2)
Вот в том-то и проблема 1-ый работает в Sql-servere и я хочу его перенести в Access. Прям напасть какая-то.
...
Рейтинг: 0 / 0
17.01.2004, 17:27
    #32379337
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ЧТО ДЕЛАТЬ?HELP!!!! select count (distinct pole1) from tabl1 grouped by pole2)
Я не очень понимаю, что этот запрос должен делать. Можно на примере? Допустим:

Код: plaintext
1.
2.
3.
4.
5.
pole1 pole2 pole3
   1       1       1 
   2       1       1 
   3       2       1 
   1       2       2 

Какой результат ожидается здесь?
...
Рейтинг: 0 / 0
17.01.2004, 17:58
    #32379346
Olkasu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ЧТО ДЕЛАТЬ?HELP!!!! select count (distinct pole1) from tabl1 grouped by pole2)
Что получается в Sql-servere при запросе
SELECT COUNT(DISTINCT pole1) AS Expr1, COUNT(DISTINCT pole2) AS Expr2, COUNT(DISTINCT pole3) AS Expr3
FROM dbo.Table1
результат
expr1 expr2 expr3
3 -------- 2 -------- 2
а в Access при запросе
SELECT Count(Таблица1.pole1) AS Expr1, Count(Таблица1.pole2) AS Expr2, Count(Таблица1.pole3) AS Expr3
FROM (select distinct Таблица1.pole1,Таблица1.pole2,Таблица1.pole3 from Таблица1);
результат
expr1 expr2 expr3
4 ----------- 4 ------- 4

Вот,а где лажа? (Силы мои на исходе)
...
Рейтинг: 0 / 0
17.01.2004, 18:23
    #32379353
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ЧТО ДЕЛАТЬ?HELP!!!! select count (distinct pole1) from tabl1 grouped by pole2)
Я смог наконец получить такой результат, но очень корявым способом.

select
(select Count(*) FROM (SELECT pole1 FROM Table1 GROUP BY pole1)),
(select Count(*) FROM (SELECT pole2 FROM Table1 GROUP BY pole2)),
(select Count(*) FROM (SELECT pole3 FROM Table1 GROUP BY pole3))
from OneLine

где OneLine - это специально созданная таблица с одной записью и произвольными полями.

Вариант:

select
(select Count(*) FROM (SELECT distinct pole1 FROM Table1)),
(select Count(*) FROM (SELECT distinct pole2 FROM Table1)),
(select Count(*) FROM (SELECT distinct pole3 FROM Table1))
from OneLine
...
Рейтинг: 0 / 0
17.01.2004, 18:48
    #32379356
Olkasu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ЧТО ДЕЛАТЬ?HELP!!!! select count (distinct pole1) from tabl1 grouped by pole2)
Ну, Владимир Саныч, слов нет. Спасибо. Сейчас ухожу домой, надеюсь в понедельник добить эту занозу.
...
Рейтинг: 0 / 0
19.01.2004, 18:05
    #32380817
Olkasu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ЧТО ДЕЛАТЬ?HELP!!!! select count (distinct pole1) from tabl1 grouped by pole2)
А теперь проблема в следующем (вернее с чего все начиналось)
select Count(*) FROM (SELECT distinct pole1 FROM Table1) group by pole3
как это сделать? Заранне спасибо.
...
Рейтинг: 0 / 0
19.01.2004, 18:11
    #32380828
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ЧТО ДЕЛАТЬ?HELP!!!! select count (distinct pole1) from tabl1 grouped by pole2)
select Count(*) FROM (SELECT pole1,pole3 FROM Table1 GROUP BY pole1,pole3) group by pole3
...
Рейтинг: 0 / 0
19.01.2004, 18:15
    #32380834
Olkasu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ЧТО ДЕЛАТЬ?HELP!!!! select count (distinct pole1) from tabl1 grouped by pole2)
УРА-А-А-А-А-А-А-А-А-А-А!!!! Спасибо!!!
...
Рейтинг: 0 / 0
19.01.2004, 18:17
    #32380837
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ЧТО ДЕЛАТЬ?HELP!!!! select count (distinct pole1) from tabl1 grouped by pole2)
А это действительно то, что надо??? Я был совершенно не уверен...
...
Рейтинг: 0 / 0
19.01.2004, 18:21
    #32380848
Olkasu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ЧТО ДЕЛАТЬ?HELP!!!! select count (distinct pole1) from tabl1 grouped by pole2)
Да и сама не знаю то или не то, но результаты запроса совпали с результатами в SQL-serevr-e, значит получается, что то что надо. Еще раз спасибо.
...
Рейтинг: 0 / 0
19.01.2004, 22:52
    #32381050
(c)VIG
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ЧТО ДЕЛАТЬ?HELP!!!! select count (distinct pole1) from tabl1 grouped by pole2)
Имхо, правильнее будет
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
select tt1.pole3,tt1.p1_Qty,tt2.p2_Qty
from
    (select t1.pole3,t1.count(*) as p1_Qty
     from
         (select distinct pole3,pole1 from MyTable) as t1
    ) as tt1
inner join
    (select t2.pole3,t2.count(*) as p2_Qty 
     from
          (select distinct pole3,pole2 from MyTable) as t2
    ) as tt2
on tt1.pole3=tt2.pole3
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / ЧТО ДЕЛАТЬ?HELP!!!! select count (distinct pole1) from tabl1 grouped by pole2) / 21 сообщений из 21, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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