|
Вопрос # 2 764/ вопрос открыт / |
|
Доброго времени суток, уважаемые эксперты! Какой SQL-
запрос надо написать в Query, чтобы данные из двух таб. в одну переместить
 |
Вопрос задал: MILAN7 (статус: Посетитель)
Вопрос отправлен: 11 мая 2009, 23:28
Состояние вопроса: открыт, ответов: 1.
|
Ответ #1. Отвечает эксперт: Dron
Здравствуйте, MILAN7!
Если речь о связке таблиц по ключу, то запрос примерно следующий:
SELECT table1.*, table2.* FROM table1 INNER JOIN table2 ON (table2.KEY = table1.KEY)
Но вы уверены, что вам нужны абсолютно все поля из обеих таблиц? Наверняка нужны только некоторые - тогда их и следует перечислить.
 |
Ответ отправил: Dron (статус: Студент)
Время отправки: 12 мая 2009, 09:25
|
Мини-форум вопроса
Всего сообщений: 11; последнее сообщение — 14 мая 2009, 17:10; участников в обсуждении: 4.
|
Мережников Андрей (статус: Абитуриент), 12 мая 2009, 05:37 [#1]:
Если требуется перемещение, а не помещение, то одним запросом не обойтись. А вообще, вопросы надо задавать конкретнее - структура исходных таблиц, какие данные надо перенести, структура таблицы-приемника. Условия связывания данных и т.д.
|
|
MILAN7 (статус: Посетитель), 12 мая 2009, 16:41 [#2]:
Нужно что-бы в табл. зарплата, отображались фамилия, имя, отчество из табл. Кадры
|
|
Вадим К (статус: Академик), 12 мая 2009, 16:43 [#3]:
а может никуда перемещать не нужно? а просто взять данные с двух таблиц и в гриде отобразить?
Галочка "подтверждения прочтения" - вселенское зло.
|
|
MILAN7 (статус: Посетитель), 12 мая 2009, 16:56 [#4]:
Ну можно и так, я пробовал этот запрос SELECT table1.*, table2.* FROM table1 INNER JOIN table2 ON (table2.key = table1.key), но выдаёт ошибку, можно ли ещё как нибудь, подскажите пожалуста
|
|
Вадим К (статус: Академик), 12 мая 2009, 17:10 [#5]:
если в первой части select упоминается две таблицы, то и в from должно быть две. как минимум.
Галочка "подтверждения прочтения" - вселенское зло.
|
|
Dron (статус: Студент), 12 мая 2009, 20:11 [#6]:
MILAN7: прямо отсюда скопировали и вставили в программу?
С уважением.
|
|
Мережников Андрей (статус: Абитуриент), 13 мая 2009, 18:12 [#7]:
to Вадим К - вторая таблица связывается по join поэтому после from ей быть не обязательно.
to MILAN7 - какая ошибка выдается?
Если в таблицах имеются поля с одинаковыми именами, то использование конструкции типа table.* не есть хорошо.
|
|
MILAN7 (статус: Посетитель), 14 мая 2009, 15:31 [#8]:
Запрос: SELECT Zarplata.*, Kadri2.family, name, father_name FROM Zarplata INNER JOIN Kadri ON (Kadri.family = Zarplata.family)
Ошибка: Table is read only
|
|
Вадим К (статус: Академик), 14 мая 2009, 16:21 [#9]:
а если написать по простому
SELECT Zarplata.*, Kadri2.family, name, father_name FROM Zarplata, Kadri where (Kadri.family = Zarplata.family)
Галочка "подтверждения прочтения" - вселенское зло.
|
|
Мережников Андрей (статус: Абитуриент), 14 мая 2009, 17:08 [#10]:
to MILAN7это полный текст запроса? Тогда очень удивительно, что ругается на то, что таблица только для чтения. Связывать по полю фамилия - очень плохо - что будете делать, если появятся однофамильцы?
|
|
Вадим К (статус: Академик), 14 мая 2009, 17:10 [#11]:
то, что фамилии есть в обоих таблицах - плохой дизайн базы. Надо id заводить.
Галочка "подтверждения прочтения" - вселенское зло.
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|