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

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

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.02.2011, 23:57   #1
Lleu
Пользователь
 
Регистрация: 16.02.2011
Сообщений: 16
По умолчанию Нужно вставить Фамилию из одной таблицы в другую..

Здравствуйте.
Нужно вставить Фамилию из одной таблицы в другую, когда в той таблице, куда нужно поместить имя, известно id фамилии.
То есть существует две таблицы - people и diagnos.
people (pid, name, sex, age) 1, Василий,М,18
diagnos (dip, pid, date, diagnos) 1,1,16/02/11,пневмония
pid и dip - идентификатор.

Нужен запрос, чтоб получилось так:
dip, name, date, diagnos
1,Василий,16/02/11,пневмония

То есть имеется таблица с личными и контактными данными и таблица с диагнозами, где также находится id пациента. Нужно чтобы отображалось все в одной таблице.
Помогите пожалуйста.

Microsoft SQL Server 2005/2008

Последний раз редактировалось Lleu; 17.02.2011 в 00:03. Причина: СУБД
Lleu вне форума Ответить с цитированием
Старый 17.02.2011, 08:33   #2
Скандербег
Форумчанин
 
Регистрация: 04.04.2009
Сообщений: 438
По умолчанию

Это же классика.
Код:
select diagnos.dip, people.name, diagnos.date, diagnos.diagnos
from diagnos join people on people.id = diagnos.pid
При необходимости, в конце ставим условия выборки (where).

Справочник по MS SQL: http://msdn.microsoft.com/ru-ru/libr...SQL.90%29.aspx

Последний раз редактировалось Скандербег; 17.02.2011 в 08:42. Причина: Ссылка
Скандербег вне форума Ответить с цитированием
Старый 17.02.2011, 12:29   #3
Lleu
Пользователь
 
Регистрация: 16.02.2011
Сообщений: 16
По умолчанию

Спасибо, выручил. Я никак не мог сообразить как это делается
Lleu вне форума Ответить с цитированием
Старый 17.02.2011, 12:56   #4
Lleu
Пользователь
 
Регистрация: 16.02.2011
Сообщений: 16
По умолчанию

Еще вопрос Мне нужно чтоб от имени и фамилия были только инициалы. Где-то вычитал что делается так: LEFT (familia, 1), т.е.:
Код:
SELECT name, LEFT (familia, 1), LEFT (ot4, 1) FROM people
Только что-то не работает. Или где ошибка или другой вариант есть? Когда ошибка происходит он мне указывает на LEFT.
Lleu вне форума Ответить с цитированием
Старый 17.02.2011, 13:44   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

попробуйте так
Код:
SELECT name, SUBSTRING(familia, 1,1 ) as Fam1,  SUBSTRING(ot4, 1,1) as OTCH1 FROM people
Serge_Bliznykov вне форума Ответить с цитированием
Старый 17.02.2011, 15:16   #6
Lleu
Пользователь
 
Регистрация: 16.02.2011
Сообщений: 16
По умолчанию

Работает, спасибо!
Lleu вне форума Ответить с цитированием
Старый 18.02.2011, 19:30   #7
Lleu
Пользователь
 
Регистрация: 16.02.2011
Сообщений: 16
По умолчанию

А как можно добавить только созданный ID тут же в другую таблицу одним запросом?
people (pid, name, sex, age)
diagnos (dip, pid, date, diagnos)
То есть добавляешь запись в таблицу people, и её только что созданный СУБД идентификатор pid, добавляется в таблицу diagnos столбец pid. Нужно добавить запись одновременно в две таблицы, но и успеть считать pid.
Lleu вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вставить все из одной таблицы в другую _SERGEYX_ БД в Delphi 2 27.01.2011 17:05
Добавить запись из одной таблицы в другую SergeiV01 БД в Delphi 3 30.05.2010 00:22
Из одной таблицы - отсортировать в другую. Gs116 Microsoft Office Excel 2 02.05.2010 13:43
Нужно вывести фамилию человека с наивысшим окладом в одной ячейке (нужна помощь) Kuzpaha Microsoft Office Excel 9 09.06.2009 18:37
Передача данных из одной таблицы в другую, при выборе одной ячейки MickMick Microsoft Office Excel 6 06.10.2008 13:57