Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Как сделать на языке SQL / 2 сообщений из 2, страница 1 из 1
21.11.2003, 22:52
    #32331997
Вопрос!!!!
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать на языке SQL
две таблицы - 1-я справочник
2-я для поиска согласно справочнику

select table2.familia, table2.schet AS schet1, table1.schet AS schet2, table2.mark from table2, table1;
where table2.schet = table1.schet into cursor Curs_

select Curs_
goto top
scan all

update table2 SET mark = 'P' WHERE table2.schet = Curs_.schet2

endscan

select table2.familia, table2.schet AS schet1, table1.schet AS schet2, table2.mark from table2, table1;
where table2.schet = table1.schet

ВОПРОС как сделать БЕЗ операторов Фокса это...
если пишу так:

select table2.familia, table2.schet, table1.schet, table2.mark from table2, table1;
where table2.schet = table1.schet

update table2 SET mark = 'P' WHERE table2.schet = table1.schet
апдейтится только 1-я запись по условию.....
так можно ли без сканирования... то есть только операторами СКЛ-я?
...
Рейтинг: 0 / 0
24.11.2003, 16:18
    #32333248
andrew_Pr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать на языке SQL
К сожалению fox-ый диалект SQL весьма ограничен по сравнению с другими SQL-ями. Поэтому фоксовый SQL-UPDATE не поддерживает Join нескольких таблиц и подзапросы. В конкретном примере, когда SET mark = 'P' - константа и независит от значения других полей, можно обойтись одними запросами, например:
Код: plaintext
1.
select  table1.schet from  table1 into array ArrTable1
update table2 SET mark = 'P' WHERE ascan(ArrTable1,table2.schet)> 0 

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


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