powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / запросы
5 сообщений из 5, страница 1 из 1
запросы
    #36049099
anutka51087
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
существует запрос:

SELECT Klient.fio, Family.family, Name1.name1, Otchestvo.otch ;
FROM ;
data1!family ;
INNER JOIN data1!klient ;
ON Klient.cod_family=Family.cod_family ;
INNER JOIN data1!otchestvo ;
ON Klient.cod_otch=Otchestvo.cod_otch;
INNER JOIN data1!name1 ;
ON Klient.cod_name=Name1.cod_name

UPDATE klient SET fio=family.family+name1.name1+otchestvo.otch WHERE klient.cod_family=family.cod_family AND klient.cod_name=name1.cod_name AND klient.cod_otch=otchestvo.cod_otch

находит первую запись и заносит ее во все строки таблицы klient
как сделать. чтобы он построчно формировал поле fio и заносил в таблицу
...
Рейтинг: 0 / 0
запросы
    #36049108
anutka51087существует запрос:

SELECT Klient.fio, Family.family, Name1.name1, Otchestvo.otch ;
FROM ;
data1!family ;
INNER JOIN data1!klient ;
ON Klient.cod_family=Family.cod_family ;
INNER JOIN data1!otchestvo ;
ON Klient.cod_otch=Otchestvo.cod_otch;
INNER JOIN data1!name1 ;
ON Klient.cod_name=Name1.cod_name

UPDATE klient SET fio=family.family+name1.name1+otchestvo.otch WHERE klient.cod_family=family.cod_family AND klient.cod_name=name1.cod_name AND klient.cod_otch=otchestvo.cod_otch

находит первую запись и заносит ее во все строки таблицы klient
как сделать. чтобы он построчно формировал поле fio и заносил в таблицу
1. Кто/что находит? Кто/что заносит? Он - это кто/что? Запрос? Фокс? Инопланетянин?
2. Это два совершенно независимых запроса. Отсюда можно предположить неправильное понимание запросов.
...
Рейтинг: 0 / 0
запросы
    #36051848
AK-Shah
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что возвращает SELECT, в смысле до UPDATE?
...
Рейтинг: 0 / 0
запросы
    #36051857
AK-Shah
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кажется, понял в чем дело... После выполнения запроса, Вы не указали объект вывода, по умолчанию - курсор (хотя это неявно). После выполнения SELECT текущей рабочей областью является вот это неявный курсор (Вы ведь его не определяли, не давали ему имя... а он есть!). Разумеется, текущая запись этого курсора по-умолчанию - первая. Вот она-то и заносится по команде UPDATE в таблицу klients. Как-то так.
...
Рейтинг: 0 / 0
запросы
    #36052176
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AK-ShahКажется, понял в чем дело... После выполнения запроса, Вы не указали объект вывода, по умолчанию - курсор (хотя это неявно). После выполнения SELECT текущей рабочей областью является вот это неявный курсор (Вы ведь его не определяли, не давали ему имя... а он есть!). Разумеется, текущая запись этого курсора по-умолчанию - первая. Вот она-то и заносится по команде UPDATE в таблицу klients. Как-то так.
Дело не в этом. В данном случае человек пытается обновить поля таблицы klient данными из таблицы family, но таблица family не указана как источник данных в директиве FROM. Как следствие, сканирование таблицы family вообще не выполняется. Из нее берется только одна (текущая) запись с которой и сравниваются значения полей всех записей таблицы Klient.

Неправильный синтаксис команды UPDATE-SQL. Подробнее здесь

Как изменить значения в одной таблице данными из другой
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / запросы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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