如何将 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  

我已经尝试解决这个问题一段时间了,但想不出一个简单的方法,我相信我想多了。我很困惑如何将 studentteacher 中的值与 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