Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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

Ответ
 
Опции темы
Старый 25.09.2015, 12:19   #1
Demonikaliysis
 
Регистрация: 21.07.2015
Сообщений: 5
Репутация: 10
По умолчанию Выборка данных с объединением из 5 таблиц - SQL Server

Здравствуйте!
Подскажите пожалуйста как правильно записать запрос для выборки данных, где есть условие объединения 5 таблиц?
Код:

--*************************************************************
            --факультет
 
            --Выбрать все записи факультета пользователя
            SELECT StatementID, StatementNumber, FlagMain, StudentID, DateCreate, 
            MarkValue, AcademHours, teacher1ID, teacher2ID, teacher3ID, WorkLPSubjectID 
            FROM 
            [Statement],WorkLPSubjects,BaseLearningPlan,SpecialtyInfo,FacultyInfo
            
            [Statement] JOIN WorkLPSubjects
            ON [Statement].WorkLPSubjectID = WorkLPSubjects.WorkLPSubjectID,
            
            WorkLPSubjects JOIN BaseLearningPlan 
            ON WorkLPSubjects.BaseLearningPlanID = BaseLearningPlan.SpecialtyID,
            
            BaseLearningPlan JOIN SpecialtyInfo 
            ON BaseLearningPlan.SpecialtyID = SpecialtyInfo.specialtyID,
            
            SpecialtyInfo JOIN FacultyInfo
            ON SpecialtyInfo.FacultyID = FacultyInfo.FacultyID
            = 
            --Сообщение 102, уровень 15, состояние 1, строка 16
            --Неправильный синтаксис около конструкции "=".
                        
            --где ID факультета пользователя =
            (SELECT FacultID FROM UsersBD WHERE UsersID = 20)
--************************************************************

Изображения
Тип файла: jpg Запрос на 5 таблиц.jpg (42.3 Кб, 1 просмотров)

Последний раз редактировалось Stilet; 25.09.2015 в 19:08.
Demonikaliysis вне форума   Ответить с цитированием
Старый 25.09.2015, 15:39   #2
evg_m
Профессионал
 
Регистрация: 20.04.2008
Сообщений: 4,762
Репутация: 2114
По умолчанию

Код:

SELECT StatementID, StatementNumber, FlagMain, StudentID, DateCreate, MarkValue, AcademHours, teacher1ID, teacher2ID, teacher3ID, WorkLPSubjectID
FROM  [Statement],WorkLPSubjects,BaseLearningPlan,SpecialtyInfo,FacultyInfo

WHERE 
     [Statement].WorkLPSubjectID = WorkLPSubjects.WorkLPSubjectID
and  WorkLPSubjects.BaseLearningPlanID = BaseLearningPlan.SpecialtyID
and  BaseLearningPlan.SpecialtyID = SpecialtyInfo.specialtyID
and  SpecialtyInfo.FacultyID = FacultyInfo.FacultyID

AND --где ID факультета пользователя 
       ... in (SELECT FacultID FROM UsersBD WHERE UsersID = 20)

Код:

SELECT StatementID, StatementNumber, FlagMain, StudentID, DateCreate, MarkValue, AcademHours, teacher1ID, teacher2ID, teacher3ID, WorkLPSubjectID
FROM  [Statement]
INNER JOIN WorkLPSubjects    ON [Statement].WorkLPSubjectID = WorkLPSubjects.WorkLPSubjectID
INNER JOIN BaseLearningPlan  ON WorkLPSubjects.BaseLearningPlanID = BaseLearningPlan.SpecialtyID
IINER JOIN SpecialtyInfo     ON BaseLearningPlan.SpecialtyID = SpecialtyInfo.specialtyID 
INNER JOIN FacultyInfo       ON SpecialtyInfo.FacultyID = FacultyInfo.FacultyID

WHERE --где ID факультета пользователя 
       ... in (SELECT FacultID FROM UsersBD WHERE UsersID = 20)

__________________
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 25.09.2015 в 15:43.
evg_m вне форума   Ответить с цитированием
Старый 25.09.2015, 18:03   #3
Demonikaliysis
 
Регистрация: 21.07.2015
Сообщений: 5
Репутация: 10
По умолчанию

Я дико извиняюсь, но как записать чтобы выполнялся внутренний запрос после основного запроса?
Пробовал по-разному не получилось их связать вместе, всегда синтаксическую ошибку выдаёт.
Demonikaliysis вне форума   Ответить с цитированием
Старый 28.09.2015, 11:28   #4
Demonikaliysis
 
Регистрация: 21.07.2015
Сообщений: 5
Репутация: 10
По умолчанию

Решение проблемы:

Код:

SELECT DISTINCT StatementID, StatementNumber, FlagMain, StudentID, DateCreate, MarkValue, AcademHours, 
                          teacher1ID, teacher2ID, teacher3ID, WorkLPSubjects.WorkLPSubjectID
			FROM [Statement] JOIN WorkLPSubjects
			ON [Statement].WorkLPSubjectID = WorkLPSubjects.WorkLPSubjectID
							 JOIN BaseLearningPlan
			ON WorkLPSubjects.BaseLearningPlanID = BaseLearningPlan.BaseLearningPlanID
							 JOIN SpecialtyInfo
			ON BaseLearningPlan.SpecialtyID = SpecialtyInfo.specialtyID
							 JOIN FacultyInfo
			ON SpecialtyInfo.FacultyID = FacultyInfo.FacultyID
							 JOIN UsersBD
			ON FacultyInfo.FacultyID = UsersBD.FacultID
			
			WHERE UsersID = 20


Последний раз редактировалось Stilet; 28.09.2015 в 11:40.
Demonikaliysis вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
asp.net LINQ SQL выборка с двох таблиц ogamilait SQL, базы данных 11 10.02.2015 21:27
Выборка данных из нескольких таблиц Alxxxx74 Microsoft Office Excel 1 22.07.2010 08:58
выборка данных из нескольких таблиц AlexxxM Microsoft Office Access 0 27.05.2010 12:08
Получение данных из двух таблиц SQL Server а S_Yevgeniy БД в Delphi 8 27.12.2009 16:12
Выборка информации из 2 таблиц (SQL) frai БД в Delphi 10 10.11.2007 18:38


22:48.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru