我正试图在postgres中找到一种方法,将我的一个表中的两列与另一个表中的一列匹配,而不删除第一个表列。我可能不会这么解释,所以这是一个例子
label1.text = code1;
label2.text = code2;
label3.text = code3;
label4.text = code4;
我想找回一个表格,其中col2和col3都可以匹配2col1中的内容,并将它们的值替换为2col2中的值。
结果将是:
Table 1: Table 2:
col1 col2 col3 2col1 2col2
1 A B A 13.1
2 A C B 18.3
3 B C C 21.7
4 B D D 11.23
答案 0 :(得分:3)
试试这个:
SELECT t1.col1, t2.2col2 AS col2, t3.2col2 AS col3
FROM table1 AS t1
LEFT JOIN table2 AS t2 ON t1.col2 = t2.2col1
LEFT JOIN table2 AS t3 ON t1.col3 = t2.2col1
答案 1 :(得分:1)
这可以帮到你。 LEFT JOIN是你的朋友
SELECT
t1.col1,
t2.2col2,
t3.2col2
FROM table1
LEFT JOIN table2 AS t2 ON t1.col2 = t2.2col1
LEFT JOIN table2 AS t3 ON t1.col3 = t3.2col1;