因此,我需要为客户加入两个表。这些表共有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 |
+-------+--------+


那么,如果仅共享color列,那么如何连接这两个表呢?结果会是什么样?提前致谢!

最佳答案

尽管颜色不是唯一的标识符,但是如果您打算对其进行连接,则它将被视为颜色。

SELECT * FROM Table1 t1
LEFT JOIN Table2 t2
ON t1.COLOR = t2.COLOR
ORDER BY COLOR DESC;


这将输出三列,其中包含12个“红色行”和15个“蓝色行”。

09-30 14:57
查看更多