Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Запрос из нескольких таблиц  [new]
Nicoman
Member

Откуда: Кемерово
Сообщений: 13
Здравствуйте всем!

Помогите пожалуйста составить sql-запрос:

Есть такие таблицы: FIO(ID, FIO), Users(ID,Fio_Id,...), Type(ID, Type), Request(ID, User_id, Type_id,...). Поля связаны по соответствующим ключам: FIO.ID=Users.Fio_id, Users.ID=Request.Users_id, Type.ID=Request.Type_id.

Хотелось бы в результате запроса получить таблицу с полями FIO.FIO, Type.Type в соответствии с таблицей Request. Т.е.:
Request.ID=1 FIO=... Type=...

Заранее прошу не пинать - я только начинающий
19 фев 14, 08:48    [15586974]     Ответить | Цитировать Сообщить модератору
 Re: Запрос из нескольких таблиц  [new]
Knyazev Alexey
Member

Откуда: Екб -> Мск
Сообщений: 10233
Блог
http://www.firststeps.ru/sql/
19 фев 14, 08:50    [15586982]     Ответить | Цитировать Сообщить модератору
 Re: Запрос из нескольких таблиц  [new]
Nicoman
Member

Откуда: Кемерово
Сообщений: 13
Вроде с основами я знаком, но не доходит...
Получился в принципе такой запрос:
SELECT FIO.FIO, Type.Type FROM FIO, Zayavka, Type
WHERE Type.ID=Zayavka.Type_id AND (FIO.ID=(SELECT Fio_id FROM Users, Zayavka WHERE Users.ID=Zayavka.User_id))

Выводит нужный результат, но что-то мне подсказывает, что можно как-то покрасивее:)
19 фев 14, 09:07    [15587030]     Ответить | Цитировать Сообщить модератору
 Re: Запрос из нескольких таблиц  [new]
aleks2
Guest
Сильно украшает INNER JOIN
19 фев 14, 09:24    [15587102]     Ответить | Цитировать Сообщить модератору
 Re: Запрос из нескольких таблиц  [new]
StarikNavy
Member

Откуда: Москва
Сообщений: 2414
Nicoman,

+ добавьте алиасы таблицам
19 фев 14, 09:40    [15587183]     Ответить | Цитировать Сообщить модератору
 Re: Запрос из нескольких таблиц  [new]
Glory
Member

Откуда:
Сообщений: 104751
Nicoman
Получился в принципе такой запрос:
SELECT FIO.FIO, Type.Type FROM FIO, Zayavka, Type
WHERE Type.ID=Zayavka.Type_id AND (FIO.ID=(SELECT Fio_id FROM Users, Zayavka WHERE Users.ID=Zayavka.User_id))


Выводит нужный результат, но что-то мне подсказывает, что можно как-то покрасивее:)


SELECT FIO.FIO, Type.Type FROM FIO, Zayavka, Type
WHERE Type.ID=Zayavka.Type_id AND FIO.ID= Users.Fio_id AND Users.ID=Zayavka.User_id
19 фев 14, 10:18    [15587474]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить