|
проблема с Group by
|
|||
---|---|---|---|
#18+
Здравствуйте! Сверяю 2 таблицы, в 1ой проставил индикаторы по признакам учета, тоесть если человек инвалид - то 1, остальные признаки - 0. Мне нужно исключить инвалидов, далее код: SELECT * FROM pf29.dbf WHERE EXISTS (SELECT * FROM s2.dbf b WHERE a.O6 = b.FM AND a.O7 = b.IM AND a.O8 = b.OT AND a.O10 = b.DR AND b.INV1 = 0); group by pf29.O6, pf29.O7, pf29.O8, pf29.O10; INTO TABLE NEW29 pf29.O6 - Фамилия, pf29.O7 - Имя, pf29.O8 - Отчество, pf29.O10 - дата рождения, INV1 - индикатор (0 или 1). Сначала group by совсем отказывался работать, ошибка исчезла после добавления SET ENGINEBEHAVIOR 70 теперь на выходе только пустые поля, где я промахнулся? :( ... |
|||
:
Нравится:
Не нравится:
|
|||
22.08.2016, 12:31 |
|
проблема с Group by
|
|||
---|---|---|---|
#18+
Кажется нашел косяк, пока мучился с group by потерял в SELECT "a" ... |
|||
:
Нравится:
Не нравится:
|
|||
22.08.2016, 12:33 |
|
проблема с Group by
|
|||
---|---|---|---|
#18+
SET ENGINEBEHAVIOR 70 - в 7 версии нет четкой проверки на select, в 9 поправили, так что увлекаться без знаний не советую! А не работает из-за выборки всех полей: SELECT * FROM Дабы сработало в group by перечислите все поля таблицы pf29. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.08.2016, 12:49 |
|
проблема с Group by
|
|||
---|---|---|---|
#18+
T1gRa_NT, SELECT * FROM pf29.dbf a WHERE EXISTS (SELECT * FROM s2.dbf b WHERE a.O6 = b.FM AND a.O7 = b.IM AND a.O8 = b.OT AND a.O10 = b.DR AND b.INV1 = 0); group by a.O6, a.O7, a.O8, a.O10; INTO TABLE NEW30 Так все работает, как только убираю SET ENGINEBEHAVIOR 70 - ошибка. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.08.2016, 12:57 |
|
проблема с Group by
|
|||
---|---|---|---|
#18+
КимаТак все работает, как только убираю SET ENGINEBEHAVIOR 70 - ошибка. Работает потому что SET ENGINEBEHAVIOR 70 это разрешение работать криво Напиши явно список используемых полей вместо звездочки Код: sql 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
22.08.2016, 13:08 |
|
проблема с Group by
|
|||
---|---|---|---|
#18+
Dima T, в таблице pf29 около 50 столбцов, неужели обязательно все писать в group by если я хочу объединить только по ФИО и дате рождения? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.08.2016, 13:19 |
|
проблема с Group by
|
|||
---|---|---|---|
#18+
Теорию читал про GROUP BY ? Допустим у тебя таблица A B1 21 3 И запрос Код: sql 1.
Что по твоему должно получиться в результате такого запроса? Может тебе вовсе не GROUP BY надо? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.08.2016, 13:24 |
|
проблема с Group by
|
|||
---|---|---|---|
#18+
Dima T, Хмм, вот тут как то не правильно получается, это да, то-есть все строки где есть в столбце А цифра 1 объединятся в 1. у меня же немного по другому получается, как я уже писал выше использую потому что у меня одна и таже запись дублируется 3-5 раз, если признаков несколько и я хочу их сгруппировать, то-есть там где ФИО и Дата рождения одинаковые, там и последующие столбцы будут тоже одинаковыми. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.08.2016, 13:29 |
|
проблема с Group by
|
|||
---|---|---|---|
#18+
для этого есть DISTINCT Код: sql 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
22.08.2016, 13:32 |
|
проблема с Group by
|
|||
---|---|---|---|
#18+
Dima T, Я пробовал так, все равно выходят все записи с дубликатами, с груп бай вроде бы все в порядке =\ ... |
|||
:
Нравится:
Не нравится:
|
|||
23.08.2016, 04:34 |
|
проблема с Group by
|
|||
---|---|---|---|
#18+
Кима, GrpoupBy тебя просто обманывает с SET ENGINEBEHAVIOR 70 Не зря, когда выходишь из совместимости с 7кой, показывает ошибку. Если разовая операция, разберешься. Если она для юзеров, и используется в БП, лучше внимательно посмотреть что надо. Иначе нарвешься... ... |
|||
:
Нравится:
Не нравится:
|
|||
23.08.2016, 09:02 |
|
проблема с Group by
|
|||
---|---|---|---|
#18+
КимаDima T, Я пробовал так, все равно выходят все записи с дубликатами, с груп бай вроде бы все в порядке =\ ID есть у таблицы? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.08.2016, 09:04 |
|
проблема с Group by
|
|||
---|---|---|---|
#18+
asdor, Мне нужно просто сделать один раз выборку. ID таблицы походу нет(Возможно я с чем то путаю ID таблицы), но в первых колонках нет никакой нумерации записей аля 1-2-3-... ... |
|||
:
Нравится:
Не нравится:
|
|||
23.08.2016, 09:11 |
|
проблема с Group by
|
|||
---|---|---|---|
#18+
КимаЯ пробовал так, все равно выходят все записи с дубликатами, с груп бай вроде бы все в порядке =\ значит какое-то значение из 50 полей отличается, возможно где-то есть ID записи. Вам советуют выбрать только нужные для дальнейшей работы поля, не все 50! но если нужны все тогда думайте и смотрите как еще отфильтровать полученные результаты. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.08.2016, 10:48 |
|
проблема с Group by
|
|||
---|---|---|---|
#18+
КимаDima T, Я пробовал так, все равно выходят все записи с дубликатами, с груп бай вроде бы все в порядке =\ Значит не все остальные столбцы одинаковые. Добавь сортировку чтобы дубли рядом встали Код: sql 1.
и поищи такие записи. Вполне может оказаться что некоторые дубли нужны. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.08.2016, 10:52 |
|
|
start [/forum/topic.php?fid=41&fpage=17&tid=1582069]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
61ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
51ms |
get tp. blocked users: |
3ms |
others: | 12ms |
total: | 171ms |
0 / 0 |