powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Подружить 2 таблицы
13 сообщений из 13, страница 1 из 1
Подружить 2 таблицы
    #34392092
_Mikle_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть таблица, к ней по ключу (по дате ДС) джойнится другая, отношение один ко многим (в первой дата ДС одна запись, во второй Много записей)

Как сделать так, чтобы при связке в полученной таблице не появлялись повторяющиеся значения из полей первой таблицы, хотелось бы NULL
...
Рейтинг: 0 / 0
Подружить 2 таблицы
    #34392111
vkluch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Используйте команду SET SKIP TO, без параметров, для обнуления множественной связи между таблицами, для таблицы, открытой в текущей рабочей области. Данная команда обнуляет только "множественную" связь; для разрыва связи типа "один-к-одному" - используется команда SET RELATION TO (без параметров), выполненная для родительской таблицы.
...
Рейтинг: 0 / 0
Подружить 2 таблицы
    #34392123
_Mikle_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
т.е. после выполнения селекта дать команду SET SKIP TO и все?
...
Рейтинг: 0 / 0
Подружить 2 таблицы
    #34392124
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
на таблички дайте глянуть

и напишите, что Вы желаете увидеть
...
Рейтинг: 0 / 0
Подружить 2 таблицы
    #34392142
_Mikle_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть выборка с повторяющимися данными в некоторых столбцах, по-другому
> ее не построить:
>
> 01.12.05 | 39 | 8 | 333 | 777
>
> 01.01.06 | 234 | 12 | 555 | 999
>
> 01.01.06 | 24 | 8 | 555 | 999
>
> 01.02.06 | 31 | 4 | 444 | 888
>
> 01.02.06 | 18 | 2 | 444 | 888
>
>
> ..........
>
> Как ее привести к такому виду:
>
>
> 01.12.05 | 39 | 8 | 333 | 777
>
> 01.01.06 | 234 | 12 | 555 | 999
>
> 01.01.06 | 24 | 8 |  0  |     0
>
> 01.02.06 | 31 | 4 | 444 | 888
>
> 01.02.06 | 18 | 2 |   0 |     0
...
Рейтинг: 0 / 0
Подружить 2 таблицы
    #34392149
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вы сами сказали, что отношение "один ко многим". Т.е. для одной записи в первой таблице может быть несколько записей из второй таблице !!!
Что тогда вы хотите увидеть в полях первой таблице при таком JOIN ?
С уважением, Алексей
...
Рейтинг: 0 / 0
Подружить 2 таблицы
    #34392153
_Mikle_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Первая строчка заполнена значениями из первой выборки, а для остальных в той же группе NULL
...
Рейтинг: 0 / 0
Подружить 2 таблицы
    #34392160
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
я Вас просил исходные нарисовать
...
Рейтинг: 0 / 0
Подружить 2 таблицы
    #34392169
_Mikle_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот исходные данные:

01.12.05 | 39 | 8 | 333 | 777

01.01.06 | 234 | 12 | 555 | 999

01.01.06 | 24 | 8 | 555 | 999

01.02.06 | 31 | 4 | 444 | 888

01.02.06 | 18 | 2 | 444 | 888
...
Рейтинг: 0 / 0
Подружить 2 таблицы
    #34392283
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
1-я таблица
.....


2-я таблица
.....

мой селект
.....

результат
.....

а хочу результат
.....
...
Рейтинг: 0 / 0
Подружить 2 таблицы
    #34392629
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Mikle_Есть таблица, к ней по ключу (по дате ДС) джойнится другая, отношение один ко многим (в первой дата ДС одна запись, во второй Много записей)

Как сделать так, чтобы при связке в полученной таблице не появлялись повторяющиеся значения из полей первой таблицы, хотелось бы NULL
Средствами SQL - никак. Поскольку Вы невольно закладываетесь на такое понятие как "порядок следования", "предыдущая запись", "последующая запись". А таких понятий в SQL в принципе не существует.

Единственный способ - это получить выборку, а потом заменить повторы на нули путем "тупого" сканирования результата выборки. Или же вообще отказаться от Select-SQL и собирать результат "вручную".

Однако то, что Вам нужно, не обязательно делать. Все зависит от того, с какой целью Вы хотите получить такой странный результат (странный во всех смыслах). Для чего Вы хотите использовать полученный результат?

Например, если речь идет об отчетах, то там есть специальная опция, которая подавляет печать повторяющихся данных.
...
Рейтинг: 0 / 0
Подружить 2 таблицы
    #34392728
_Mikle_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, именно для отчета, только я там никак немогу найти эту настройку...
...
Рейтинг: 0 / 0
Подружить 2 таблицы
    #34393455
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Mikle_Да, именно для отчета, только я там никак немогу найти эту настройку...
Заходите в свойства объекта - далее раздел Print When установить переключатель "Print Repeated Value" в положение "No" и, возможно, выбрать дополнительные переключатели в разделе "Also print", когда дубль сделать все-таки надо. Например, при переходе на новую страницу.
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Подружить 2 таблицы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]