|
Соединение в запросе | ☑ | ||
---|---|---|---|---|
0
Fannasankh
17.06.16
✎
11:50
|
Имеется две таблицы, в одной есть ИНН и Сумма и в другой есть ИНН и Сумма. Возможно ли соединить по этим двум полям таблицы так, чтобы первая таблица в выборку попала вся, а соответствия из второй брались только один раз? То есть если строка второй таблицы может соединиться с несколькими из первой, то соединяться должна только с одной (первой или ещё какой).
|
|||
1
Nuobu
17.06.16
✎
11:51
|
(0) Опять номер строки?
|
|||
2
pessok
17.06.16
✎
11:52
|
а что в результирующей таблице будет? я по полям. Т.к. по постановке вопроса кажется, что соединения совсем не надо, надо только первую таблицу :)
|
|||
3
pessok
17.06.16
✎
11:54
|
да и вообще, опиши задачу полностью
|
|||
4
Fannasankh
17.06.16
✎
11:58
|
(2) В результирующей таблице будут ещё другие поля. Суть задачи такая: есть приход денег из банка (выгрузка из клиент банка), и есть некая таблица выставленных счетов с указанием проекта за который выставлен счет. Нужно максимально возможно точно распределить приход денег по проектам. Предполагается ручная постобработка того, что сопоставить не удалось. Соединить по ИНН и номеру счета получается примерно в половине случаев. Есть идея сопоставлять по ИНН и Сумме, но тогда одна платежка подтягивается ко множеству счетов, если их было выставлено несколько одному контрагенту с одной суммой.
|
|||
5
Fannasankh
17.06.16
✎
13:10
|
ап
|
|||
6
Nuobu
17.06.16
✎
13:11
|
(5) Номер строки чем не подошел?
|
|||
7
Fannasankh
17.06.16
✎
13:13
|
(6) Не совсем понял, какой номер строки
|
|||
8
Очевидно
17.06.16
✎
13:27
|
(7) я так понимаю, что речь идет о том чтобы пронумеровать обе таблицы "Самосоединением" и связать по "Инн" + "Номер строки" ... но для "чёткой" нумерации нехватает какого-то уникального признака (например документа оплаты)... иначе в ситуации когда суммы платежек совпадут - произойдёт задвоение записей ... а так нечто аналогичное парралельно обсуждается здесь :
Можно ли обойтись только языком запросов? |
|||
9
Nuobu
17.06.16
✎
13:32
|
(8) дадада. Именно эту тему я имел ввиду в (1) под словом "опять". Уникальной штуки не нужно, т.к. для номера строки используется функция "Количество". Иногда юзают "Количество( Различные", но тут уже автор сам будет решать, что для него лучше.
|
|||
10
Fannasankh
17.06.16
✎
13:34
|
(9) Кажется понял, сейчас попробую
|
|||
11
ovrfox
17.06.16
✎
13:36
|
В чем проблема? После того, как строку найдешь - очищай ИНН. Если связь "многие ко многим"- то это лучший выбор. Если "многие к одному" - тогда можно упорядочить первую таблицу и искать только при смене ИНН при проходе по первой таблице.
|
|||
12
Fannasankh
17.06.16
✎
13:36
|
(11) как я в запросе очищу инн?
|
|||
13
HardBall
17.06.16
✎
13:41
|
Из первой таблицы сделай ВТ с нарастающим итогом это будет новый ключ а потом соедини со второй.
|
|||
14
GANR
17.06.16
✎
14:59
|
(0) http://www.sql-tutorial.ru/ru/book_numbering_by_primary_key_values.html - и фильтруешь только первую строчку из присоединяемой таблицы.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |