Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Работа с данными

Страница: 1 |

 

  Вопрос: Супер запрос SQL - прамблемачкааа Добавлено: 28.01.09 21:43  

Автор вопроса:  Роман
Две таблицы в разных базах данных:
Таблица1: "Base" - с полями - b1,b2,b3
Таблица2: "Base1" - с полями - Key,a1,b1,b2,b3
b1,b2,b3 - абсолютно одинаковые поля
Key - ключевое поле
a1 - дополнительное текстовое поле
Добавляю данные из таблицы Base в таблицу Base1 следующим образом:
"INSERT INTO Base1 IN 'путь к базе Base1' SELECT * FROM Base WHERE b1=1"
Все нормуль - данные из таблиы Base добавляются в Base1.

Но мне нужно чтобы одновременно с заполнением полей b1,b2,b3 заполнялось поле a1 , например словом "ок".
Как соорудить такой запрос? Все перерыл - нифига не найду.
Помогите ПОЖАЛУЙСТА.

Ответить

  Ответы Всего ответов: 15  

Номер ответа: 1
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #1
Добавлено: 28.01.09 22:53
insert into `b` select `a`, 234 as `b` from a where `a` mod 2 = 0

Ответить

Номер ответа: 2
Автор ответа:
 Роман



Вопросов: 26
Ответов: 60
 Профиль | | #2 Добавлено: 30.01.09 16:23
Имеется ввиду это?:
"INSERT INTO Base1 IN 'путь к базе Base1' SELECT b1,b2,b3,a1 AS 'ок' FROM Base WHERE b1=1;"
Не работает. Пишет "Слишком мало параметров"

Ответить

Номер ответа: 3
Автор ответа:
 Роман



Вопросов: 26
Ответов: 60
 Профиль | | #3 Добавлено: 30.01.09 16:44
Кроме того полей b1,b2,b3 очень много (около 160). И через запятую их перечислять упаришся. Может есть еще способ?

Ответить

Номер ответа: 4
Автор ответа:
 Роман



Вопросов: 26
Ответов: 60
 Профиль | | #4 Добавлено: 30.01.09 16:44
Кроме того полей b1,b2,b3 очень много (около 160). И через запятую их перечислять упаришся. Может есть еще способ?

Ответить

Номер ответа: 5
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #5
Добавлено: 31.01.09 02:53
*

Ответить

Номер ответа: 6
Автор ответа:
 Роман



Вопросов: 26
Ответов: 60
 Профиль | | #6 Добавлено: 02.02.09 12:42
* - это понятно.
Но вопрос в том, что в таблице "Base1" есть одно лишнее поле, которого нет в таблице "Base", и его нужно заполнить словом "ок" одновременно с заполнением полей из таблицы "Base".

Ответить

Номер ответа: 7
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #7
Добавлено: 02.02.09 20:19
При указании нужных тебе полей в таблице Base ты можешь выбрать произвольные данные, как будто это колонка таблицы Base. Что и иллюстрирует запрос, написанный в первом посте.

Ответить

Номер ответа: 8
Автор ответа:
 Artyom



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #8 Добавлено: 02.02.09 22:54
Если у тебя 160 (!!!) полей то ты наверное что-то делаешь не так :) Подумай над изменением схемы БД. Например закинь эти поля в BLOB.

Ответить

Номер ответа: 9
Автор ответа:
 Роман



Вопросов: 26
Ответов: 60
 Профиль | | #9 Добавлено: 05.02.09 22:43
Не слышал такого.
Обязательно надо будет разобраться.

Ответить

Номер ответа: 10
Автор ответа:
 Роман



Вопросов: 26
Ответов: 60
 Профиль | | #10 Добавлено: 05.02.09 22:51
Помогите разобраться применительно к моим данным пожалуйста.
Это "INSERT INTO Base1 IN 'путь к базе Base1' SELECT b1,b2,b3,a1 AS 'ок' FROM Base WHERE b1=1;"
или
"INSERT INTO 'Base1' IN 'путь к базе Base1' SELECT 'Base','ok' AS 'Base1' FROM 'Base' WHERE b1=1;"
Ничего не работает.

Ответить

Номер ответа: 11
Автор ответа:
 Роман



Вопросов: 26
Ответов: 60
 Профиль | | #11 Добавлено: 06.02.09 22:51
Smith, ну чё перебиваешь?
Не мог создать другую тему?
Я тут на свой вопрос ответа не добьюсь, а тут ты со своим лезешь.

Ответить

Номер ответа: 12
Автор ответа:
 Smith



ICQ: adamis@list.ru 

Вопросов: 153
Ответов: 3632
 Профиль | | #12 Добавлено: 07.02.09 09:57
Ром если у парней будет время и желание поболтать им будет пофиг сколько тут вопросов и чьи они, и тема топика пофиг и правила форума тоже будут пофиг :)

По любому твой вопрос первый в очереди и паниковать нет повода.

Ответить

Номер ответа: 13
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #13
Добавлено: 07.02.09 19:40
Ссылка на поле 'LNAME' может относиться к полям нескольких таблиц

SELECT Base0109.LNAME?

Ответить

Номер ответа: 14
Автор ответа:
 Smith



ICQ: adamis@list.ru 

Вопросов: 153
Ответов: 3632
 Профиль | | #14 Добавлено: 08.02.09 13:52
Ошибочное или пропущенное слово или аргумент в sеlесt или ошибочная пунктуация

Ответить

Номер ответа: 15
Автор ответа:
 Artyom



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #15 Добавлено: 08.02.09 16:19
SELECT [Base0109].[LNAME]

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам