所以我需要为客户端加入两个表。这些表只共享1个字段(COLOR,它不是唯一的密钥标识)。是否可以加入/关联这两个表?
所以让我们说理论上我有两个带COLOR和COLOR ATTRIBUTE的表,如下所示:
+-------+----------+
| COLOR | NAME |
+-------+----------+
| red | brian |
| red | ben |
| red | tom |
| red | jennifer |
| blue | tom |
| blue | billy |
| blue | michelle |
+-------+----------+
另一个表只与颜色列相关,但有多个颜色权重:
+-------+--------+
| COLOR | WEIGHT |
+-------+--------+
| red | 12 |
| red | 3 |
| red | 11 |
| blue | 4 |
| blue | 23 |
| blue | 7 |
| blue | 5 |
| blue | 10 |
+-------+--------+
那么我怎样才能加入这两个表,只有颜色列是共享的?结果会是什么样的?提前谢谢!
答案 0 :(得分:1)
虽然 color 不是唯一标识符,但如果您打算对其执行联接,则会将其视为此类。
SELECT * FROM Table1 t1
LEFT JOIN Table2 t2
ON t1.COLOR = t2.COLOR
ORDER BY COLOR DESC;
这将输出三列,其中12个“红色行”和15个“蓝色行”。