Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.06.2015, 18:29   #1
MariaD
Пользователь
 
Аватар для MariaD
 
Регистрация: 10.01.2013
Сообщений: 56
Вопрос [SQL]Как внести в таблицу в поле Стоимость данные из других таблиц

Таблица Счет(Процессор, Видеокарта,Монитор,Мышь,Стоимость, Дата_счета). Как внести в таблицу в поле Стоимость данные из других таблиц: По процессору табл Процессор(Тип,Частота,Наличие, Цена) и т.д.
И как внести поле дата. знаю что используется DATE()
Названия процессора, видеокарты выбираются из combobox и добавляются в счет так:

Код:
Form3.ADOQuery1.Insert;
Form3.ADOQuery1.FieldByName('Сист_блок').AsString:=Combobox8.Text;
Form3.ADOQuery1.FieldByName('Процессор').AsString:=Combobox1.Text;
Form3.ADOQuery1.FieldByName('Частота').AsString:=Combobox10.Text;
Form3.ADOQuery1.FieldByName('ОЗУ').AsString:=Combobox3.Text;
Form3.ADOQuery1.FieldByName('ЖД').AsString:=Combobox2.Text;
Form3.ADOQuery1.FieldByName('Видеокарта').AsString:=Combobox4.Text;
Form3.ADOQuery1.FieldByName('Емкость').AsString:=Combobox9.Text;
Form3.ADOQuery1.FieldByName('Монитор').AsString:=Combobox5.Text;
Form3.ADOQuery1.FieldByName('Мышь').AsString:=Combobox6.Text;
Form3.ADOQuery1.FieldByName('Дисковод').AsString:=Combobox7.Text;
//Form3.ADOQuery1.FieldByName('Стоимость').AsString:=;
Form3.ADOQuery1.Active:=True;
Form3.ADOQuery1.Post;

Для просмотра заказа, еще до добавления в счет делаю такой запрос:

Код:
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('SELECT System_block.Name as Сист_блок, Processor.Name as Процессор, Processor.Chastota as Частота , OZU.Emkost as ОЗУ, '
+'JD.Emkost as ЖД, Videocart.Name as Видеокарта, Videocart.Emkost as Емкость, Monitor.Tip as Монитор, Mish.Tip as Мышь, Disk.Tip as Дисковод, '
+'(System_block.Price+ Processor.Price+ OZU.Price+ JD.Price+ Videocart.Price+ Monitor.Price+ Mish.Price+ Disk.Price) as Сумма '+
'FROM System_block, Processor, OZU, JD, Videocart, Monitor, Mish, Disk '+
'WHERE System_block.Name="'+Combobox8.Text+'" And Processor.Name="'+Combobox1.Text+'" And Processor.Chastota="'
+Combobox10.Text+'" And OZU.Emkost="'+Combobox3.Text+'" And JD.Emkost="'+Combobox2.Text+'" And Videocart.Name="'
+Combobox4.Text+'" And Videocart.Emkost="'+Combobox9.Text+'" And Monitor.Tip="'+Combobox5.Text+'" And Mish.Tip="'
+Combobox6.Text+'";');
ADOQuery1.Active:=True;

Последний раз редактировалось Stilet; 03.06.2015 в 19:47.
MariaD вне форума Ответить с цитированием
Старый 03.06.2015, 19:32   #2
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Я так понимаю, Вам что-то навроде команды

Код:
INSERT INTO Счет VALUES (<Ваш SQL-запрос>)
нужно?

Только для этого не ADOQuery нужно будет юзать, а ExecSQL
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 03.06.2015, 19:49   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А таблицы с товаром я так понимаю разные? На каждый товар своя таблица?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 03.06.2015, 20:21   #4
MariaD
Пользователь
 
Аватар для MariaD
 
Регистрация: 10.01.2013
Сообщений: 56
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
А таблицы с товаром я так понимаю разные? На каждый товар своя таблица?
да, так оно и есть
MariaD вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как в один лист можно собрать данные с других листов Lis000iq Microsoft Office Excel 12 24.08.2015 12:51
Создание таблиц, используя поля других таблиц Morpho SQL, базы данных 9 11.12.2013 21:54
Как значение с DateTimePicker внести в таблицу Access pls БД в Delphi 11 27.10.2012 19:59
как внести данные в файл?! Matadora Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 25.09.2011 13:59
Используя данные 2-х таблиц нужно получить 1 таблицу. Smile2007 Microsoft Office Excel 15 09.12.2010 18:54