【发布时间】:2015-11-10 21:34:09
【问题描述】:
汽车
|Vin |Make |Year|
| 1 |Honda|2009|
| 2 |Honda|2010|
| 3 |Honda|2009|
| 4 |Toyota|2009|
颜色
|Color|Make |Vin|
| Red |Honda|1|
|Blue |Toyota|4|
|Pink |Honda|2|
金融家
|Bank|Make |
| BOA |Honda|
| Cha |Toyota|
| PNC |Jeep|
一个查询
SELECT
car.Vin,
colors.Color,
financer.Bank
from Car
JOIN Colors ON car.vin = colors.vin
AND car.make = colors.make
JOIN financer ON car.make = financer.make
WHERE car.make = 'Honda'
尝试加入这些表,但获得的行数超出预期。我上面的financer 表没有唯一的列。
有没有一种方法可以通过组合 2 列来执行 ALTER TABLE 以使主键唯一?
【问题讨论】:
-
主键在定义上必须是唯一的。你应该发布你得到的结果,以及你期望的结果。