Sql &引用;插入“;立柱整齐
我有一张叫做“likes”的桌子,看起来像这样:Sql &引用;插入“;立柱整齐,sql,Sql,我有一张叫做“likes”的桌子,看起来像这样: 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
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
还有另一张叫做“学生”的桌子,看起来像这样:
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,这在某种程度上等同于“插入”
你知道我该怎么做吗
谢谢 您需要加入学生表两次
--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
您只需加入表两次:
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
您可以使用简单的
内部联接来获取值,例如:
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;
这是
获得值后,可以使用插入。。选择要插入到新表中的
语句
这是插入到中的文档和示例。。。选择状态记忆。mysql
或sql server
?选择一个。我删除了不兼容的数据库标记。请使用您真正使用的数据库进行标记。我尝试的是返回一个新表。你不能退桌子。您正在尝试编写查询吗?创建一个视图?创建一个新表?可能与服务器混乱有关的表重复。我是SQL新手,最初我将其标记为SQL server,但也建议使用mysql。