【发布时间】:2015-03-13 22:40:28
【问题描述】:
我正在尝试获取与其他三列(品牌、型号和组)相关的三行汽车,我只想按型号获取一辆车。
这里是 MySQL 表的图像:
你会看到三行具有相同的model_id(model_id是另一个表的外键,另一个表称为模型)
获取这些汽车的我的 SQL 查询是:
SELECT *
FROM gm_cars AS cars
INNER JOIN gm_cars_makes AS makes
ON (cars.make_id = makes.make_id)
INNER JOIN gm_cars_models AS models
ON (cars.model_id = models.model_id)
INNER JOIN gm_cars_groups AS groups
ON (cars.group_id = groups.group_id) AND
makes.make_visible = 1
ORDER BY cars.model_id;
但我希望为一个模型获得一行,这里有一个示例(我使用过 Photoshop):
有人喜欢:SELECT *, DISTINCT(model_id) FROM cars
【问题讨论】:
-
问题是除了你想要的模型ID之外还有哪些列?您可以使用“分组依据”子句将数据分组。如果您只想要 id,您可以执行“从汽车中选择不同的 model_id”
-
我们如何知道为
car_doors选择什么值 - 两行说 5,一行说 3? -
为什么这个问题同时标记了 MySQL 和 SQL Server?您实际使用的是哪个平台? i.stack.imgur.com/Dc7B7.png
标签: mysql sql-server select