Инструкция Database select возвращает больше строк, чем ожидалось
Всем привет,
Я извлекаю записи из базы данных с помощью оператора select, но поскольку я сохранил свойство value в таблице, мне нужно объединить несколько таблиц, чтобы отобразить свойство text, прежде чем присоединиться к другим таблицам, результат вышел прекрасным, вернув четыре строки, после присоединения к таблице я получил 14 строк, я попытался отладить его, но, похоже, не видел, откуда берется проблема. Я буду признателен, если кто-нибудь сможет помочь.
Что я уже пробовал:
Скрипт перед объединением таблиц:
SELECT DISTINCT ,rs.[ResultID] ,rs.[StudentNo_] ,rs.[House] ,rs.[DOB] ,rs.[AcademicSession] ,rs.[Term] ,rs.[TeacherRemark] ,rs.[MarkObtainable] ,rs.[MarkObtained] ,rs.[Subject] ,rs.[School] ,rs.[CATest1] ,rs.[CATest2] ,rs.[CATest3] ,rs.[CATest4] ,rs.[CATest5] ,rs.[ExamScore] ,rs.[HeadTeacherRemark] ,rs.[CATotal] ,rs.[Grade] ,rs.[Remark] ,rs.[Class] ,rs.[ClassAverage] FROM [Results] rs WHERE rs.[StudentNo_] = @StudentNumber AND rs.[Term] = @Term AND rs. [AcademicSession] = @AcademicSession AND rs.[Class] = @Class AND rs.[School] = @School
скрипт после объединения таблиц:
SELECT DISTINCT pss.[Code] SubCode ,ss.[Description] SubjectName ,pss.[Subject Code] SubjectCode ,pss.[Core Subject] CoreSubject ,pss.[CA Calculator] CACalculator ,pss.[Grade Display] GradeDisplay ,pss.[Term Total Calculator] TermTotalCalculator ,rs.[ResultID] ,rs.[StudentNo_] ,sd.[FullName] ,sd.[ImagePath] ,sd.[Gender] ,sd.[House] ,sd.[Date Of Birth] DOB ,ass.[Description] AcademicSession ,rs.[Term] ,rs.[TeacherRemark] ,rs.[MarkObtainable] ,rs.[MarkObtained] ,rs.[Subject] ,sl.[Name] School ,rs.[CATest1] ,rs.[CATest2] ,rs.[CATest3] ,rs.[CATest4] ,rs.[CATest5] ,rs.[ExamScore] ,rs.[HeadTeacherRemark] ,rs.[CATotal] ,rs.[Grade] ,rs.[Remark] ,rs.[Class] ,rs.[ClassAverage] FROM [Results] rs INNER JOIN [PrimarySubjectSetUp] pss ON rs.[Subject] = pss.[Subject Code] INNER JOIN [SchoolList] sl ON rs.[School] = sl.[Code] INNER JOIN [Student] sd ON rs.StudentNo_ = sd.No_ INNER JOIN [School Subjects] ss ON pss.[Subject Code] = ss.[Code] INNER JOIN [AcademicSession] ass ON rs.[AcademicSession] = ass.Code WHERE rs.[StudentNo_] = @StudentNumber AND rs.[Term] = @Term AND rs.[AcademicSession] = @AcademicSession AND rs.[Class] = @Class AND rs.[School] = @School ORDER BY pss.[Subject Code] ASC
CHill60
Без некоторых выборочных данных мы не можем действительно помочь с конкретикой. Одна из таблиц имеет несколько строк для одного из совпадений-это ответ ... вам придется посмотреть на свои данные, чтобы понять, какой из них
Uwakpeter
Спасибо,вот в чем была проблема
ZurdoDev
Мы не можем помочь, кроме как сказать, что у вас есть несколько совпадающих записей в одной из новых таблиц, к которым вы присоединились.
Uwakpeter
Спасибо,вот в чем была проблема
RedDk
Я скажу это, просто так, это, вероятно, тип соединения. И в заключение проверьте определения таблиц для каждой из таблиц и убедитесь, что все типы являются идентифицируемыми типами, которые вы хотите, чтобы они были. Иногда импортированные / экспортированные данные проявляют неправильные типы В SQL Server.
phil.o
Пробовал левое внешнее соединение вместо внутреннего соединения?
Uwakpeter
я тоже пробовал это сделать, но ничего не вышло