powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / DISTINCT
5 сообщений из 5, страница 1 из 1
DISTINCT
    #39743592
petrovichvanya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подскажите пожалуйста, почему такая разница в количестве записей ?
Код: plsql
1.
2.
3.
4.
select  c.* from brscontracts c
INNER JOIN brsactions a ON (c.contractid = a.contractid)
AND (a.storndate IS NULL)
where c.contractnum = 'E0000521'


236 запись
Код: plsql
1.
2.
3.
4.
select distinct c.* from brscontracts c
INNER JOIN brsactions a ON (c.contractid = a.contractid)
AND (a.storndate IS NULL)
where c.contractnum = 'E0000521'


1 запись
...
Рейтинг: 0 / 0
DISTINCT
    #39743602
Dshedoo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petrovichvanyaПодскажите пожалуйста, почему такая разница в количестве записей ?
Код: plsql
1.
2.
3.
4.
select  c.* from brscontracts c
INNER JOIN brsactions a ON (c.contractid = a.contractid)
AND (a.storndate IS NULL)
where c.contractnum = 'E0000521'


236 запись
Код: plsql
1.
2.
3.
4.
select distinct c.* from brscontracts c
INNER JOIN brsactions a ON (c.contractid = a.contractid)
AND (a.storndate IS NULL)
where c.contractnum = 'E0000521'


1 запись
Потому что из brscontracts выбирается 1 строка и множится с 236 строками из brsactions?
Во 2ом селекте выбирается 1 строка и 236 раз множится, затем уже дистинктится?
...
Рейтинг: 0 / 0
DISTINCT
    #39744210
Фотография --Eugene--
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petrovichvanyaПодскажите пожалуйста, почему такая разница в количестве записей ? DISTINCT | UNIQUE DISTINCT | UNIQUESpecify DISTINCT or UNIQUE if you want the database to return only one copy of each set of duplicate rows selected. These two keywords are synonymous. Duplicate rows are those with matching values for each expression in the select list.
...
Рейтинг: 0 / 0
DISTINCT
    #39744455
Stawros
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
select C.*
  from BRSCONTRACTS C
 where C.CONTRACTNUM = 'E0000521'
   and exists
           (select 1
              from BRSACTIONS A
             where C.CONTRACTID = A.CONTRACTID
               and A.STORNDATE is null)


Такой запрос сколько строк возвращает?
...
Рейтинг: 0 / 0
DISTINCT
    #39744729
SkilledJunior
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
petrovichvanya,

Потому что c.contractnum = 'E0000521'
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / DISTINCT
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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