Join 如何将一个mysql数据库中的2列与另一个数据库中的4列连接起来
我有2个mysql数据库。(1) authorID,authorFirst,authorLast。(2) courseID,courseName,courseAuthor1,courseAuthor2,courseAuthor3,courseAuthor4。如何将authors数据库中的2个列连接到courses数据库中的一个或全部4个courseAuthor列 作者Join 如何将一个mysql数据库中的2列与另一个数据库中的4列连接起来,join,Join,我有2个mysql数据库。(1) authorID,authorFirst,authorLast。(2) courseID,courseName,courseAuthor1,courseAuthor2,courseAuthor3,courseAuthor4。如何将authors数据库中的2个列连接到courses数据库中的一个或全部4个courseAuthor列 作者 authorID | authorFirst | authorLast 1 | firstA | l
authorID | authorFirst | authorLast
1 | firstA | lastA
2 | firstB | lastB
3 | firstC | lastC
4 | firstD | lastC
课程
courseID | courseName | courseAuthor1 | courseAuthor2 | courseAuthor3 | courseAuthor4
1 | course1 | 2 | 3 | NULL | NULL
2 | course 2 | 1 | 4 | 3 | NULL
3 | course 33 | 4 | 1 | 2 | NULL
4 | course 4 | 3 | NULL | NULL | NULL
我希望结果如下所示:
courseID | courseName | courseAuthor1 | courseAuthor2 | courseAuthor3 | courseAuthor4
1 | course1 | firstB LastB | firstC LastC | NULL | NULL
2 | course 2 | firstA LastA | firstD LastD | firstC LastC | NULL
3 | course 33 | firstD LastD | firstA LastA | firstB LastB | NULL
4 | course 4 | firstC LastC | NULL | NULL | NULL
我甚至不知道从哪里开始。这是我的密码:
从课程中选择*在authors.authorID中加入作者
(courses.courseAuthor1,courses.courseAuthor2,courses.courseAuthor3,
课程。课程(4)
这表明:
results | courseID | courseName | courseAuthor1 | courseAuthor2 | courseAuthor3 | courseAuthor4 | authorID | authorFirst | authorLast
1 | 1 | course1 | 2 | 3 | NULL | NULL | 2 | firstB | lastB
2 | 1 | course1 | 2 | 3 | NULL | NULL | 3 | firstC | lastC
3 | 2 | course 2 | 1 | 4 | 3 | NULL | 1 | firstA | lastA
4 | 2 | course 2 | 1 | 4 | 3 | NULL | 4 | firstD | lastD
5 | 2 | course 2 | 1 | 4 | 3 | NULL | 3 | firstC | lastC
6 | 3 | course 33 | 4 | 1 | 2 | NULL | 4 | firstD | lastD
7 | 3 | course 33 | 4 | 1 | 2 | NULL | 1 | firstA | lastA
8 | 3 | course 33 | 4 | 1 | 2 | NULL | 2 | firstB | lastB
9 | 4 | course 4 | 3 | NULL | NULL | NULL | 3 | firstC | lastC
非常感谢 我花了一些时间,但我已经回答了我的问题。这是:
SELECT c1.courseID, c1.courseName,
CONCAT(a1.authorFirst,' ',a1.authorLast) AS aOne,
CONCAT(a2.authorFirst,' ',a2.authorLast) AS aTwo,
CONCAT(a3.authorFirst,' ',a3.authorLast) AS aThree,
CONCAT(a4.authorFirst,' ',a4.authorLast) AS aFour
FROM courses c1
LEFT JOIN authors a1 ON c1.courseAuthor1 = a1.authorID
LEFT JOIN authors a2 ON c1.courseAuthor2 = a2.authorID
LEFT JOIN authors a3 ON c1.courseAuthor3 = a3.authorID
LEFT JOIN authors a4 ON c1.courseAuthor4 = a4.authorID