Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
нормализация данных и запросы
|
|||
|---|---|---|---|
|
#18+
Добрый день, уважаемые участники форума. У меня небольшой квест: 1. Есть таблица , которая содержит данные: номер чека - уникален, дату - нет, сумму продажи -нет,тип операции-нет и вид операции-нет. 2. Я могу получить 3 таблицы из п.1 делая выборку по типу операции. 3. Я не могу сопоставить данные трех таблиц без дубликатов, т.к. делаю join или apply по полям, которые не являются уникальными. Задача получить таблицу уникальных значений вида: номер чека дата, сумма - номер чека возврата, дата, сумма - номер чека прихода, дата ,сумма. Все эти данные я извлек в три таблицы, но уникального значения для join нет, т.к. ищу я по сумме и еще 4-5 полям, которые могут тоже совпадать. Часть своих экспериментов и структур таблиц приведу ниже: все таблицы имеют одинаковую структуру Код: 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. последний запрос делал с outer apply, все равно получаю дубли в одной из трех колонок с чеками ( или чек с ошибкой или чек возврата или чек прихода будет повторятся) Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. в конечном итоге я всегда получаю таблицу, которая содержит дубли в одной из трех колонок. Чистка с CTE не помогает Код: sql 1. 2. 3. 4. 5. 6. Как получить только уникальные значений в ФД чеках сразу в трех столбцах? Спасибо за помощь, я обычный сис. админ, не судите строго) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2019, 12:02 |
|
||
|
нормализация данных и запросы
|
|||
|---|---|---|---|
|
#18+
nosferatu86, выполните 6 пункт рекомендаций форума, тогда может кто нибудь поможет. я например ваш поток сознания нераспарсил. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2019, 12:25 |
|
||
|
нормализация данных и запросы
|
|||
|---|---|---|---|
|
#18+
Код: sql 1. 2. 3. Иначе Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2019, 13:59 |
|
||
|
нормализация данных и запросы
|
|||
|---|---|---|---|
|
#18+
nosferatu86, предоставьте код заполнения таблиц тестовыми данными и напишите - что вы ожидаете получить из этих данных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2019, 21:41 |
|
||
|
нормализация данных и запросы
|
|||
|---|---|---|---|
|
#18+
Три таблицы 1.NONDS Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 2. NDSALL Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 3. NDSVOZVRAT Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. Все три таблицы имею идентичные поля NDSALL - все продажи с различным НДС NDSVOZVRAT - все возраты продаж с НДС NONDS - продажа без налога НДС. Эти три таблицы никак не связаны. Нужно выстроить цепочку связанных значений: Все данные продажи из NDSALL к ним присоединить все возрат из NDSVOZVRAT и присоединить правильную продажу без НДС из NONDS. Join и прочие операции я делал указывая в where совпадение по сумме, виду оплаты,сумме чека и.т.д. В итоговой таблице, после попыткой * join , * apply, * union, я получаю значения , которые всегда содержат дубли. Как мне сделать уникальными значения в итоговой таблице, если сумма не уникальная. Грубо на сумму 4000 и вид оплаты безнал из таблицы NDSALL подходит 450 чеков возврата из NDSVOZVRAT и 30 чеков продаж NONDS. я всегда получаю дубли и могу сделать уникальными значения только по одной колонке. Эти таблицы нужно объединить по сумме, но каждая строка с чеком должна быть уникальна, т.е. в итоговом наборе данных не должно быть дублей по номеру чека ( это [ФД №] ) , т.к. каждая цепочка продажа с "ндс, возрат с ндс, продажа без ндс" + все реквизиты из таблиц .. Во вложении тестовые данные ко всем таблицам xls . 10 строк. ДУбли я там уже создал для чеков. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2019, 01:44 |
|
||
|
нормализация данных и запросы
|
|||
|---|---|---|---|
|
#18+
nosferatu86, Как получить желаемое в подобной структуре нужно узнавать у того, кто ее придумал. А пока будете этого персонажа отлавливать, можете поизвращаться примерно так: Код: sql 1. 2. 3. 4. 5. 6. Само-собой, достоверность результата может быть никакая... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2019, 10:14 |
|
||
|
нормализация данных и запросы
|
|||
|---|---|---|---|
|
#18+
nosferatu861. Есть таблица , которая содержит данные: номер чека - уникален, дату - нет, сумму продажи -нет,тип операции-нет и вид операции-нет. 2. Я могу получить 3 таблицы из п.1 делая выборку по типу операции. ... Все эти данные я извлек в три таблицы, но уникального значения для join нет, т.к. ищу я по сумме и еще 4-5 полям, которые могут тоже совпадать. ... Грубо на сумму 4000 и вид оплаты безнал из таблицы NDSALL подходит 450 чеков возврата из NDSVOZVRAT и 30 чеков продаж NONDS. ... и наоборот. У вас есть множество сущностей - продаж (чеков) с атрибутами. Вы разделяете это множество горизонтально по одному атрибуту на три подмножества. Потом вы пытаетесь эти подмножества объединить вертикально. Вы объединяете множества по атрибуту "сумма". Что же вы получаете в качестве результирующего множества? (Даже если вы накладываете условие уникальности) Вы получаете случайную продажу соединенную с такой же случайной продажей. Из таблицы сущностей продажа вы делаете объединенную таблицу сущностей продажапродажа . Это действительно та задача, которую вы пытаетесь решить? Объединить одни продажи с другими по случайному признаку? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.01.2019, 20:16 |
|
||
|
нормализация данных и запросы
|
|||
|---|---|---|---|
|
#18+
Автор хочет определить - какие возвраты соответствовали каким продажам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2019, 12:44 |
|
||
|
нормализация данных и запросы
|
|||
|---|---|---|---|
|
#18+
Владислав КолосовАвтор хочет определить - какие возвраты соответствовали каким продажам. Мартышкин труд, если честно. Возврат может быть частичным, и привязка ну сумму вообще не поможет. Как правильно сказал invm, искать архитектора... и пинать его ногами, пока тот не поумнеет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2019, 12:38 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=39769158&tid=1688351]: |
0ms |
get settings: |
10ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
135ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
64ms |
get tp. blocked users: |
1ms |
| others: | 260ms |
| total: | 508ms |

| 0 / 0 |
