powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / ADOCommand MS OLE DB for Foxpro странное поведение запроса
2 сообщений из 2, страница 1 из 1
ADOCommand MS OLE DB for Foxpro странное поведение запроса
    #36844316
newbie122
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет. Нубский вопрос
пишу в ADOcommand (Delphi) следующий код:

UPDATE table1
SET table1.pole4 = 1
WHERE EXISTS
(SELECT * FROM out
WHERE table1.pole1 = table1.pole1 AND
table1.pole2 = table2.pole2 AND
table1.pole3 = table2.pole3)

Суть:
Заменить в table1 pole4 на 1, в тех случаях где оно совпадает по 3 полям с таблицей 2.
В Foxpro работает. Через провайдер и ADOCommand же запрос проставляет значение 1 во все поля в таблице 1

Может кто сталкивался с подобным?
...
Рейтинг: 0 / 0
ADOCommand MS OLE DB for Foxpro странное поведение запроса
    #36844339
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вызывает подозрение звездочка. Попробуй заменить ее на константу. Например, просто число 1.

Ну, и то, что у тебя условие по pole1 написано с одной и той же таблицей. Это опечатка или так оно и есть?

WHERE table1 .pole1 = table1 .pole1

Также запрос можно переписать следующим образом

Код: plaintext
1.
2.
3.
4.
5.
UPDATE table1
SET table1.pole4 =  1 
FROM out 
WHERE table1.pole1 = table2.pole1 AND 
table1.pole2 = table2.pole2 AND 
table1.pole3 = table2.pole3

Т.е. заменив Exists() на прямое соединение. Следует заметить, что в подобном синтаксисе из таблицы out будут отбираться только "первые попавшиеся" записи удовлетворяющие условию объединения. Т.е. если условию объединения соответствует несколько записей подчиненной таблицы, то использоваться будет только одна из них. Первая попавшаяся.
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / ADOCommand MS OLE DB for Foxpro странное поведение запроса
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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