如何将 2 列中的值与 1 列连接起来? - SQL
How to join values in 2 columns with 1 column? - SQL
假设我有 2 个表:
table_a
student teacher
A Z
B Z
C Z
table_b
id person
1 A
2 B
3 C
4 Z
我正在寻找以下输出:
table_c
student_id teacher_id
1 4
2 4
3 4
我已经尝试解决这个问题一段时间了,但想不出一个简单的方法,我相信我想多了。我很困惑如何将 student
和 teacher
中的值与 person
连接起来以获得我的输出。我通常会在我的帖子中附上我尝试过的代码,但老实说,我在这里画了空白。
你可以尝试用两个correlated-subqueries来制作。
SELECT (SELECT b.id FROM table_b b WHERE b.person = a.student LIMIT 1) student_id,
(SELECT b.id FROM table_b b WHERE b.person = a.teacher LIMIT 1) teacher_id
FROM table_a a
假设我有 2 个表:
table_a
student teacher
A Z
B Z
C Z
table_b
id person
1 A
2 B
3 C
4 Z
我正在寻找以下输出:
table_c
student_id teacher_id
1 4
2 4
3 4
我已经尝试解决这个问题一段时间了,但想不出一个简单的方法,我相信我想多了。我很困惑如何将 student
和 teacher
中的值与 person
连接起来以获得我的输出。我通常会在我的帖子中附上我尝试过的代码,但老实说,我在这里画了空白。
你可以尝试用两个correlated-subqueries来制作。
SELECT (SELECT b.id FROM table_b b WHERE b.person = a.student LIMIT 1) student_id,
(SELECT b.id FROM table_b b WHERE b.person = a.teacher LIMIT 1) teacher_id
FROM table_a a