|
Почему происходит дубляж записей с одина ID и как сделать, что бы больше не дублировалось?
|
|||
---|---|---|---|
#18+
Всем привет! Помогите пожалуйста решить проблему! Есть база Access, в ней запрос qdfOcenka, основанный на таблице tblOcenka. Запрос выдаёт дублированные записи, хотя в основной таблице дубляжа нет. Причём дублируются все поля, включая ID. Подскажите пожалуйста, от чего это может быть и как сделать так, что бы этого больше не было? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2016, 14:07 |
|
Почему происходит дубляж записей с одина ID и как сделать, что бы больше не дублировалось?
|
|||
---|---|---|---|
#18+
В некоем запросе на основании какой-то таблицы дубликаты появляются - почему-то... Мало данных для осмысленного ответа. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2016, 14:32 |
|
Почему происходит дубляж записей с одина ID и как сделать, что бы больше не дублировалось?
|
|||
---|---|---|---|
#18+
Akina, А какие данные нужны для осмысленного ответа? Саму базу скинуть? Или что нужно-то? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2016, 14:47 |
|
Почему происходит дубляж записей с одина ID и как сделать, что бы больше не дублировалось?
|
|||
---|---|---|---|
#18+
Зачем всю базу? Желательно видеть таблицу tblOcenka, и сам запрос qdfOcenka. Было бы хорошо так же увидеть скрин результата запроса с примером дубляжа. Потому что пока при минимуме данных слишком много вариантов, бессмысленно заниматься гаданиями и тут расписывать свои умняки ;) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2016, 14:58 |
|
Почему происходит дубляж записей с одина ID и как сделать, что бы больше не дублировалось?
|
|||
---|---|---|---|
#18+
Arhirru запрос qdfOcenka, основанный на таблице tblOcenka. Запрос выдаёт дублированные записи Так не бывает. Вероятно запрос строится не на одной, а на нескольких таблицах. И связь между таблицами 1 ко многим как минимум. Текст запроса в студию... ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2016, 15:05 |
|
Почему происходит дубляж записей с одина ID и как сделать, что бы больше не дублировалось?
|
|||
---|---|---|---|
#18+
Ну да, подсчитала, аж на трёх таблицах основано qdfOcenki: SELECT tblOcenka.ID, tblOcenka.DateZakaz, tblOcenka.ContactZakazchik, tblOcenka.StoimostDog, tblOcenka.Dogovor, tblOcenka.ClientID, tblOcenka.Zakazchik, tblOcenka.TipObecta, tblMain.Client AS OtKogoCalc, tblOcenka.SummVozvrat, tblOcenka.VozvratKomment, tblMain.FIO AS OtKogoFIOCalc, tblOcenka.Sotrudnik, tblOcenka.Status, tblOcenka.DateBezNal, tblOcenka.StoimostSchet, tblOcenka.DataNal, tblOcenka.SummDolg, tblOcenka.SummNalVsego, tblOcenka.DateDogovor, tblOcenka.Sobitie1, tblOcenka.Buhgalteru, tblOcenka.DateAct, tblMemorandum.Vozvrat AS VozvratCalc, tblMemorandum.OtKogoVozvrat AS OtKogoVozvratCalc, tblMemorandum.OtKogo AS OtKogoCalc2, tblOcenka.SummVozvrat2, (summnalvsego+stoimostdog+stoimostschet-summvozvrat)*otkogoVozvratCalc AS Field10Calc, (summnalvsego+stoimostdog+stoimostschet)*VozvratCalc AS Field11Calc, tblOcenka.SummRecenziya, tblOcenka.DateVozvrat, tblOcenka.DateVozvrat2, tblMain.Napravlenie AS NapravlenieCalc, tblOcenka.TypeObject, tblOcenka.AdressObject, tblOcenka.Region, tblOcenka.KomuFIO, tblOcenka.ShortFio, tblOcenka.Field12, tblOcenka.DateOcenku, tblOcenka.CelevoeNaznach, tblOcenka.KadastrNomer, tblOcenka.PloschadZemli, tblOcenka.Kolvoobjekt, tblOcenka.Kolvoskoef, tblOcenka.OtdachaFin, tblOcenka.Primechanie, tblOcenka.OkpoKontr, tblOcenka.PoluchenoRM, tblOcenka.PoluchnaKartu, tblOcenka.BeznalRs, tblOcenka.SoderzhOperac, tblOcenka.UchastieOp, tblOcenka.Process, SummDolg-StoimostSchet-StoimostDog-SummNalVsego-SummRecenziya AS DolgCalc, tblOcenka.Partner, tblOcenka.OplPartner FROM (tblOcenka LEFT JOIN tblMain ON tblOcenka.ClientID = tblMain.ID) LEFT JOIN tblMemorandum ON tblOcenka.ClientID = tblMemorandum.ClientID; ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2016, 15:52 |
|
Почему происходит дубляж записей с одина ID и как сделать, что бы больше не дублировалось?
|
|||
---|---|---|---|
#18+
Сразу уточню, база делалась не мной. Мне просто поставлена задача избавиться от дубляжа записей, появляющегося при добавлении новой. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2016, 15:55 |
|
Почему происходит дубляж записей с одина ID и как сделать, что бы больше не дублировалось?
|
|||
---|---|---|---|
#18+
Ну напостил соплей... трудно было отформатировать? Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60.
Если при связывании одной записи из tblOcenka соответствуют две или более записей из tblMain и/или tblMemorandum, то появление дубликатов ПО ПОЛЯМ ИЗ ТАБЛИЦЫ tblOcenka - это не просто нормальное, но и обязательное состояние. Но при этом в разных записях-"дубликатах" содержатся РАЗНЫЕ данные, взятые из других таблиц - т.е. полные записи, возвращаемые запросом, дубликатами НЕ ЯВЛЯЮТСЯ. Даже если чисто случайно в полях из остальных таблиц значения в разных записях равны. И такой результат - ПРАВИЛЬНЫЙ. Arhirruзадача избавиться от дубляжа записей, появляющегося при добавлении новой Эммм... что-то про добавление раньше ничего не говорилось... куда, что и как добавляется? и при чём тут "дубликаты в запросе"? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2016, 16:41 |
|
Почему происходит дубляж записей с одина ID и как сделать, что бы больше не дублировалось?
|
|||
---|---|---|---|
#18+
самое первое впечатление - неправильная структура базы. Как следствие - в таблицах избыточность данных, запрос такого же уровня организации, отсюда и косяки. По хорошему - надо переделывать практически всё. ПыСы: казалось бы - хочешь получить быстрое и полное решение вопроса - дай в архиве сам образец базы: названные три таблицы (как оказалось - всё же три, хотя в первоначальной постановке вопроса речь шла об одной) с несколькими записями (даже вообще левыми), и тогда только сам запрос. Так нет же, обязательно устроить мееееедленный стриптиз с поочерёдным подкидыванием инфы и игрой в угадайку., смотреть на эти 11 строк с названиями полей и виртуально гадать, что там и как - потому как без самих таблиц работу запроса не проверить. А набивать самому таблицы, записи - лень. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2016, 16:51 |
|
Почему происходит дубляж записей с одина ID и как сделать, что бы больше не дублировалось?
|
|||
---|---|---|---|
#18+
о, на сцене появился ещё один запрос - на добавление. Стриптиз в разгаре ))) И опять гадания: сказано "при добавлении новой". А точно только один запрос участвует в добавлении? И нет ли к нему "прицепа" в виде, допустим, запросов на обновление, удаление и так далее? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2016, 16:57 |
|
|
start [/forum/topic.php?fid=45&fpage=96&tid=1613261]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
26ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 123ms |
0 / 0 |