![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 25.09.2012
Сообщений: 30
|
![]()
Добрый день. Подскажите пожалуйста как правильно написать запрос.
К примеру: В базе magazin есть таблицы table1, table2, table3. Таблицы table1,table2 связаны по полю id. В таблице: table1 есть поля id,nameklient,tovar,kol-vo. В таблице: table2 есть поля id,Cena,DataPostuplenya,DataProdash i. Как то так. Вообщем необходимо вывести информацию из записать в table3 такие поля как: nameKlient,tovar,kol-vo,Cena,DataProdashi. Вывод информации я понимаю, можно сделать так (запрос указал ниже), а как записать это все в table3? И правильно ли я написал сам запрос? Подскажите пожалуйста. Как правильно реализовать запрос, подскажите пожалуйста. SELECT table1.nameklient, table1.tovar,table1.kol-vo,table2.Cena,table2.DataProdashi from magazin.table1 inner join magazin.table2 on table1.id = table2.id Запрос выводит данные, но как эти данные теперь записать в table3??? Подскажите пожалуйста. Последний раз редактировалось Stilet; 07.02.2013 в 15:23. |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 07.04.2007
Сообщений: 102
|
![]()
Здравствуйте вот конструкция для вставки значений в таблицу
INSERT INTO <имя таблицы>[(<имя столбца>,...)] {VALUES (< значение столбца>,…)} | <выражение запроса> | {DEFAULT VALUES}; в вашем случю думаю так INSERT INTO table3 (можно явно указать поля) SELECT table1.nameklient, table1.tovar,table1.kol-vo,table2.Cena,table2.DataProdashi from magazin.table1 inner join magazin.table2 on table1.id = table2.id; только количество и типы полей должны совпадать и ещё * При вставке в таблицу проверяются все ограничения на данную таблицу. может быть ограничения первичного ключа или уникального индекса, проверочные ограничения типа chek, ограничения ссылочной целостности. В случае нарушения ограничения вставки не будет будет. |
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 25.09.2012
Сообщений: 30
|
![]()
На данный момент в table3 нет ни одного поля, фактически пустая таблица.
Чтобы найти по запросу и скопировать данные, я должен сначала в table3 создать все те поля, которые я ищу и после чего сделать запрос. Я правильно понял? |
![]() |
![]() |
![]() |
#4 | |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]() Цитата:
Или я чего-то не понял в этой жизни? Вариант без предварительного создания Table3 есть и имеет примерно следующий вид Код:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Последний раз редактировалось Аватар; 07.02.2013 в 13:02. |
|
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 25.09.2012
Сообщений: 30
|
![]()
да так и есть. Таблица table3 есть, но полей нет. Я туда хочу записать те данные, которые ищу по запросу.
Запрос тогда будет выглядеть так: SELECT table1.nameklient, table1.tovar,table1.kol-vo,table2.Cena,table2.DataProdashi into table3 from magazin.table1 inner join magazin.table2 on table1.id = table2.id так получается? |
![]() |
![]() |
![]() |
#6 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]()
Если делать так, то обязательное условие - таблицы table3 на момент выполнения запроса не должно существовать
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 25.09.2012
Сообщений: 30
|
![]()
Не совсем понимаю, как тогда будет выглядеть условие на создание таблицы table3 в этом же запросе
|
![]() |
![]() |
![]() |
#8 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]()
Структура table3 создастся по перечню полей из SELECT-а с теми же именами, типами и в том же порядке
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
![]() |
![]() |
![]() |
#9 |
Пользователь
Регистрация: 25.09.2012
Сообщений: 30
|
![]() |
![]() |
![]() |
![]() |
#10 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]() Цитата:
Чем он Вас не устроил? кстати, а какая у Вас СУБД ? С созданием новой таблицы из запроса есть нюансы в разных СУБД. например, в Oracle это выглядит как Код:
|
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
как при двух зажатых клавишах, выводить третью нажатую | Matadora | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 4 | 21.09.2012 00:08 |
Выбор одинаковых данных из двух таблиц и перенос в третью | Рыбёшка | Microsoft Office Excel | 4 | 27.08.2012 20:04 |
Как свести данные из двух ячеек в одну (третью)? | oksundel | Помощь студентам | 1 | 30.05.2012 14:25 |
Перенос значений столбцов из двух книг в третью | zagzag228 | Microsoft Office Excel | 1 | 29.06.2011 16:56 |
Как в С++ вывести(записать ) информацию в файл, когда инфа находится в методе класса? | Artur_cod | Общие вопросы C/C++ | 1 | 06.05.2007 00:34 |