Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Update значениями друго таблицы [D7, dBase, FoxPro]


Страницы:   1 2

Korvin ©   (2004-05-26 11:50:00) 

Объясните как в Delphi 7 при работе с файлами *.dbf
заполнить поля одной таблицы значениями другой ?


Соловьев   (2004-05-26 12:45:00) [21]


> 8] Korvin   (26.05.04 12:37)

F3-LocalSQL.hlp - ответы почти на все вопросы :)
там искать Update


Соловьев   (2004-05-26 12:43:00) [22]


> select ocena2 from spr_part
>              where spr_part.grup = mlabel.grup
>                and spr_part.nnum = mlabel.nnum
>                group by grup, nnum

1. он должен возвратить 1(!!!) запись
2. групировка подразумевает использование агрегатных функций - Sum, Max, Avg
3. Смысл подзапроса не понятен. подробнее плиз.


Соловьев   (2004-05-26 12:39:00) [23]


> update table1 set field3 = (select field2 from table2 where
> field1 = table1.field1).

такой запрос не пойдет - так как подзапрос возвратит не одну запись, а несколько


Korvin   (2004-05-26 12:37:00) [24]

update mlabel
set ocena1 = (select ocena2 from spr_part
             where spr_part.grup = mlabel.grup
               and spr_part.nnum = mlabel.nnum
               group by grup, nnum).


Sandman25+1   (2004-05-26 12:33:00) [25]

[6] Korvin   (26.05.04 12:31)

Приведите точный код того, что Вы пробовали.


Korvin   (2004-05-26 12:31:00) [26]

Пропробовал эту конструкцию в SQL_Explorere
не работает выдает Finction name is missing


Sandman25+1   (2004-05-26 12:11:00) [27]

1. [2] Vlad ©   (26.05.04 11:53)
2.update table1 set field3 = (select field2 from table2 where field1 = table1.field1). Смотря, что надо.


Korvin   (2004-05-26 12:07:00) [28]

Отвечаю  
Кщд - Обычными средствами через цикл в Delphi
не получается ,т.к. при переносе большого количества
записей (примерно более 900 ) возникает ошибка "не найдена колонка Q9...." (возможно это связано с переполнением какого нибудь буфера). Еще одна особенность - таблица содержит мемо поля.
Поэтому хотелось бы попробовать через SQL/


Кщд   (2004-05-26 11:53:00) [29]

напр.,
ОдинДатасет.FieldByName('ПолеОднойТаблицы').Value:=ДругойДатасет.FieldByName('ПолеДругойТаблицы').Value;


Sergey13   (2004-05-26 11:53:00) [30]

Можно в цикле, можно через SQL. Можно просто файло скопировать.


Vlad   (2004-05-26 11:53:00) [31]


> Korvin   (26.05.04 11:50)  

insert into table1 select * from table2


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо