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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.09.2015, 11:19   #1
Demonikaliysis
 
Регистрация: 21.07.2015
Сообщений: 5
По умолчанию Выборка данных с объединением из 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 Кб, 122 просмотров)

Последний раз редактировалось Stilet; 25.09.2015 в 18:08.
Demonikaliysis вне форума Ответить с цитированием
Старый 25.09.2015, 14:39   #2
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

Код:
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 в 14:43.
evg_m вне форума Ответить с цитированием
Старый 25.09.2015, 17:03   #3
Demonikaliysis
 
Регистрация: 21.07.2015
Сообщений: 5
По умолчанию

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

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

Код:
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 в 10:40.
Demonikaliysis вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
asp.net LINQ SQL выборка с двох таблиц ogamilait SQL, базы данных 11 10.02.2015 20: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 15:12
Выборка информации из 2 таблиц (SQL) frai БД в Delphi 10 10.11.2007 17:38