Ranjith Reddy CSE Ответов: 3

Как объединить 3 таблицы в одну таблицу в sqlserver 2005


Уважаемые Специалисты !!

Я более свеж в базе данных Sqlserver 2005.

Как соединить 3 таблицы... к одной таблице в sqlserver

Итак, вот мое требование :

У меня есть 3 стола в моей комнате. Database...as студенческие коды,имена,отметки

1)из первой таблицы[таблица StudentCodes] я хочу взять StudentId
2)из второй таблицы[таблица имен] я хочу взять имя студента , StudentFathersName
3)из 3-й таблицы[таблица отметок] я хочу взять общее количество отметок, процент

и наконец, я хочу сделать эти 3 таблицы в одну таблицу.

Пожалуйста, можете ли вы предложить мне, как объединить эти 3 таблицы в одну таблицу.

Заранее большое спасибо

OriginalGriff

Судя по этой информации, мы мало чем можем помочь.
Вам нужно посмотреть (или объяснить) свою структуру немного лучше: например, как вы знаете, что StudentId из StudentCodes связан с StudentName в таблице имен? А таблица отметок?
И если у вас уже есть отношения, зачем вы создаете новую таблицу? Разве это не дублирует информацию и не снижает ремонтопригодность ваших данных?
Используйте виджет "улучшить вопрос", чтобы отредактировать свой вопрос и предоставить более подробную информацию.

3 Ответов

Рейтинг:
27

Sandeep Mewara

Вам нужно прочитать о соединениях SQL.

Здесь:
W3Schools: SQL-соединения[^]
Учебник по SQL - SQL Joins[^]
CP: SQL-соединения[^]
MSDN: присоединяется к основам[^]


Wendelius

Хорошие связи

Sander Rossel

W3Schools-это мой основной справочник по SQL-запросам.
MSDN также является стандартным справочником.
Хорошие связи, все они. Мой 5.

Mohamed Mitwalli

5+

Рейтинг:
2

Arunprasath Natarajan

Дорогой Ранджит,

1-й u должен иметь общий идентификатор во всех 3 таблицах, предположим Studentid.

Select a.studentid,b.name,b.fathername,c.marks,c.percent from 
StudentCodes a With (Nolock), Names b With (Nolock), Marks c With (Nolock)
where a.studentid=b.studentid and b.studentid=c.studentid and a.studentid=c.studentid


это основное, например. надеюсь, это вам поможет.

С уважением,
АР


Mohamed Mitwalli

5+

Рейтинг:
12

Wendelius

Скорее всего, вы не имеете в виду, что хотите объединить (создать) одну таблицу из этих таблиц. Вы хотите создать результирующий набор на их основе? Если это так, как указал Сандип, вам нужно присоединиться.

Таким образом, чтобы выбрать один результирующий набор, ваш запрос может выглядеть примерно так:

SELECT sc.StudentId,
       n.StudentName,
       n.StudentFathersName,
       m.TotalMarks,
       m.Percentage
FROM   StudentCode sc 
       INNER JOIN Names n ON n.StudentId = sc.StudentId
       INNER JOIN Marks m ON m.StudentId = sc.StudentId


Sander Rossel

Хороший ответ, мой 5-й.

devachrismohammed

Большое спасибо

Wendelius

Спасибо :)

Wendelius

Пожалуйста

Mohamed Mitwalli

5+

Wendelius

Спасибо :)