我不知道这个问题的条款,标题可能会有点误导。
我正在尝试创建1到多个表的概述,但只想选择关系表的1个示例。
车牌
name
id
汽车颜色
car_id
color
汽车可以有许多不同的颜色。但是我想为“概述”选择一种颜色。我怎样才能做到这一点?我尝试使用同一车排的多种颜色产生大量结果。
如果可能,最好在一个查询中。
提前致谢
修改
我认为我的问题是模糊不清。我正在尝试选择汽车餐桌内的所有汽车,但只选择1种颜色(第一种颜色)。
Foo blue
Bar blue
Barfoo yellow
等
然而,Foo有颜色,蓝色,黄色,红色,黑色等。
对于表创建查询,这是一个“虚拟”版本。我只是想学习如何通过向正确的方向解决这个问题。
答案 0 :(得分:1)
您需要这样的查询:
SELECT * FROM car
INNER JOIN car_color ON car.id = car_color.car_id
LIMIT 1 -- this will limit the results to only one row
编辑:只为汽车获得一种颜色,您可以使用组:
SELECT * FROM car
INNER JOIN car_color ON car.id = car_color.car_id
GROUP BY car.id -- this will group all the rows with the same car to only one row per car
答案 1 :(得分:0)
How about this.
CREATE table car(name varchar(10),id int primary key);
CREATE table car_details(car_id int foreign key references car(id), color varchar(20));
INSERT into car values('BMW',1);
INSERT into car_details values(1,'Blue');
INSERT into car values('toyota',2);
INSERT into car_details values(2,'pink');
SELECT * FROM
car c INNER join car_details cd
on c.id = cd.car_id
limit 1;
Results in.
name id car_id color
---------- ----------- ----------- --------------------
BMW 1 1 Blue
答案 2 :(得分:0)
SUBQUERY
select cc.color from CarColours cc,Car c where cc.car_id = c.id and c.id = 1 limit 1