|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
15.03.2011, 16:42 | #1 |
Форумчанин
Регистрация: 08.10.2008
Сообщений: 668
|
Возможные Причины Срабатывания DISTINCT и обход ситуации
Добрый день. Возник такой вопрос... в Access2003
у меня есть набор полей SELECTION_1: Код:
Код:
происходит DISTINCT(Т.к. полностью совпадающие строки схлопываются). Я даже ALL сделал. как мне известно, Group By не содержит в себе DISTINCT, в чем же проблема? И как её быть может обойти другим способом..дабы решить задачу?
Don't worry be happy
Последний раз редактировалось Izhic; 16.03.2011 в 10:10. |
15.03.2011, 16:49 | #2 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Ну ты же группируешь? Вот и получаешь "эффект" отсутствия повторяющихся.
Добавь в группировку еще поле, которое нужно, или вообще не группируй... Задача то какая?
I'm learning to live...
|
15.03.2011, 16:56 | #3 |
Форумчанин
Регистрация: 08.10.2008
Сообщений: 668
|
при группировке, повторяющиеся не должны исчезать...
сделал маленькую тестовую табличку, дабы убедиться в собств. глупости и диагноз не смог подтвердить. n=||=s=||=k ---------------- 1=||=11=||=2 1=||=2=||=2 1=||=11=||=2 Код:
------------------- 24=====||=3 С точки зрения вопроса выше , стало бы по мистическим причинам. ---------- 13 =||= 2 =================================== ========================== задача сгруппировать по pGroup2, pGroup3 и получить суммы по pPole1, pPole2 без DISTINCT,а получается что он сначала удаляет повторяющиеся и только по остающимся полям получает сумму.. Все стандартно... вот и возникает вопрос в чем проблема
Don't worry be happy
Последний раз редактировалось Izhic; 15.03.2011 в 17:06. |
15.03.2011, 17:06 | #4 | ||
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
Я ща веру в SQL потеряю ))) Цитата:
Или я тебя не панимайт, камраде... Ты кстати забыл группировку. Пробуй так Код:
I'm learning to live...
|
||
15.03.2011, 17:11 | #5 |
Форумчанин
Регистрация: 08.10.2008
Сообщений: 668
|
24=====||=3
правильно. а получаетя как будто DISTINCT 13 =||= 2 т.е. 11 - схлопнулось в один. и сумма сосчиталась по оставшимся записям(если угодно второе схлопывание ) Код:
и да, в оригинал группировка есть ..
Don't worry be happy
Последний раз редактировалось Izhic; 15.03.2011 в 17:15. |
15.03.2011, 17:35 | #6 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
I'm learning to live...
|
|
16.03.2011, 10:15 | #7 |
Форумчанин
Регистрация: 08.10.2008
Сообщений: 668
|
с группировкой схлопнулись.
да, в selection_1, в оригинале ещё был Order By(дописал в первом посте =[). //пациенты всегда врут(с)Др.Хаус Убрал данную операцию. и Группировка в Selection_2 заработала без несуществующего Distinct. Stilet спасибо, за помощь в разборе ситуации.. остается не понятно влияние order By ,т .к. он производится с полным набором полей и влиять как DISTINCT на Selction_2 по идее не должен - верно? почему же влияет?
Don't worry be happy
Последний раз редактировалось Izhic; 16.03.2011 в 10:17. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
все возможные числа | nick_5714 | Помощь студентам | 7 | 16.02.2011 15:41 |
Работает ли при "SQL dialect 3" оператор DISTINCT? | 3lander | БД в Delphi | 1 | 12.10.2007 00:21 |
Сайт был недоступен около 40 часов, официальные причины. | Alar | О форуме и сайтах клуба | 2 | 09.03.2007 16:46 |