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