2017-02-09 2 views
0

я одна таблица, называется «любит», который выглядит следующим образом:колонны «Вставка» аккуратно

ID1  ID2 
1247 1468 
1641 1468 
1316 1304 
1025 1101 

И еще один стол, под названием «Студенты», который выглядит следующим образом:

ID  Name Grade 
1510 Jordan 9 
1689 Gabriel 9 
1381 Tiffany 9 
1709 Cassandra 9 
1101 Haley 10 
1782 Andrew 10 
1468 Kris 10 
1641 Brittany 10 
1247 Alexis 11 
1316 Austin 11 
1911 Gabriel 11 
1501 Jessica 11 
1304 Jordan 12 
1025 John 12 
1934 Kyle 12 
1661 Logan 12 

То, что я пытаюсь сделать, это вернуть новую таблицу, которая имеет следующие столбцы:

NameofID1, GradeofID1, NameOfID2, GradeOfID2, который будет приравниваться к некоторой «вставке».

Любая идея, как я могу это сделать?

Спасибо!

+0

'mysql' или' sql-server'? Выбери один. – shmosel

+0

Я удалил несовместимые теги базы данных. Пожалуйста, пометьте базу данных, которую вы действительно используете. –

+0

* То, что я пытаюсь сделать, это вернуть новую таблицу *. Вы не можете вернуть таблицу. Вы пытаетесь написать запрос? Создать представление? Создать новую таблицу? – shmosel

ответ

1

Вам нужно присоединиться к таблице студентов дважды.

--insert into newtable(col1,col2,col3,col4) 
select s1.name as name1,s2.name as name2,s1.grade as grade1,s2.grade as grade2 
from likes l 
join students s1 on s1.id=l.id1 
join students s2 on s2.id=l.id2 
0

Вам просто нужно, чтобы присоединиться к столу дважды:

Select s1.Name,s1.grade,s2.Name,s2.grade, 
    from likes l 
    inner join students s1 
    on l.ID1 = s1.ID 
    inner join students s2 
    on l.id2 = s2.ID 
    Where l.ID1 = 1247 
0

Вы можете использовать простую INNER JOIN, чтобы получить значения, например .:

SELECT s1.name, s1.grade, s2.name, s2.grade 
FROM student s1 JOIN likes l ON s1.id = l.id1 
JOIN student s2 ON s2.id = l.id2; 

Вот SQL Fiddle.

Как только вы получите значения, вы можете использовать оператор INSERT INTO.. SELECT для вставки в новую таблицу.

Here документация и примеры для INSERT INTO... SELECT statememt.

Смежные вопросы