0 / 0 / 0
Регистрация: 13.06.2007
Сообщений: 29
|
|
1 | |
Возможно ли в VB использовать SQL-запросы в которых данные в одной таблице редактируются данными из другой?26.05.2009, 03:41. Показов 1039. Ответов 5
Метки нет (Все метки)
Возможно ли в VB использовать SQL-запросы в которых данные в одной таблице редактируются данными из другой. Например:
UPDATE customer SET (address1, address2) = (SELECT address1, address2 FROM newaddr WHERE newaddr.customerID=customer.customerID) В книгах по SQL о таком написано, но по всей видимости в VB-шной интерпретации SQL такое не разрешено. Или может я ошибаюсь? Заранее благодарен!
0
|
26.05.2009, 03:41 | |
Ответы с готовыми решениями:
5
Как из одной таблицы вытащить данные одной колонки и проставить в другой таблице в oracle? QSqlRelationalTableModel не редактируются данные в таблице Как обновить данные одной строки данными из другой? SQL в Delphi. Вывод полей в одной таблице - шапкой в другой. |
0 / 0 / 0
Регистрация: 17.06.2008
Сообщений: 30
|
|
26.05.2009, 08:12 | 2 |
читать мануал лучше надо...8)
ЭТО НЕ ПРАЛЬНО! ---------------- UPDATE customer SET (address1, address2) = (SELECT address1, address2 FROM newaddr WHERE newaddr.customerID=customer.customerID) -------------- А так вот можно... UPDATE a SET a.address1=b.address1 a.address2=b.address2 FROM newaddr a, customer b WHERE a.customerID=b.customerID
0
|
0 / 0 / 0
Регистрация: 13.06.2007
Сообщений: 29
|
|
26.05.2009, 11:40 [ТС] | 3 |
'мануал' читаю постоянно ;-)
А указанный мной синтаксис один к одному переписан из книги о SQL К сожалению предложенный вариант также не заработал. Может с SQL сервер он бы и подошел. Я работаю с базой Access. Подозреваю что проблема как раз в этом - существуют ограничения или различия для SQL при работе с различными базами данных.
0
|
Neld
|
|
26.05.2009, 12:42 | 4 |
В асексе в дизайнере укажи тип запроса update, свяжи две таблицы и посмотри SQL
|
IgorB
|
|
27.05.2009, 00:56 | 5 |
Update ne mojet rabotat' srazu na 2 kolonki, nado poocheredno:
1)UPDATE a SET a.address1=b.address1 FROM newaddr a, customer b WHERE a.customerID=b.customerID Zatem vkluchit' 2 sintaks: 2)UPDATE a SET a.address2=b.address2 FROM newaddr a, customer b WHERE a.customerID=b.customerID Eto budet rabotat'. Igor |
0 / 0 / 0
Регистрация: 13.06.2007
Сообщений: 29
|
|
27.05.2009, 09:38 [ТС] | 6 |
К сожалению не один из предложенных SQL запросов не работал в VB с базой Access.
Воспользовался советом Neld - в Access в дизайнере запросов указал тип запроса update, связал две таблицы и посмотрел сгенерированный SQL-запрос. Получилось следующее: UPDATE customer INNER JOIN newaddr ON customer.customerID = newaddr.customerID SET customer.address1= [newaddr]![address1] Проверил - все заработало! Т.е. оказалось что в запросе на обновление UPDATE вместо имени таблицы нужно записать объединение таблиц JOIN. Всем большое спасибо!
0
|
27.05.2009, 09:38 | |
27.05.2009, 09:38 | |
Помогаю со студенческими работами здесь
6
Как в одной таблице исключить данные из другой таблицы Как данные одной функции использовать в другой? Как обновить данные в одной таблице, используя поле из другой? Как использовать возвращаемые данные из одной процедуры в другой процедуре? Посчитать количество в одной таблице и занести данные в другую SQL запросом Запрос отображающий данные из таблицы, только те, которых нет в другой таблице Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |