SQL SELECT GROUP BY 并加入具有特定值的行

SQL SELECT GROUP BY and join the row with certain value

我有两个表:

tbl_car

id_c | name car
1    | VW
2    | Audi
3    | Ferrari

tbl_auto_accessorize

id_a | id_c | fuel | gpl | abs
1    |  1   | 0    |  1  | 0   
2    |  1   | 1    |  0  | 1
3    |  2   | 0    |  1  | 1
4    |  2   | 1    |  0  | 1
5    |  3   | 0    |  1  | 0

我有这个SQL:

SELECT id_a,id_c,abs
FROM tbl_car LEFT JOIN
     tbl_auto_accessorize
     ON tbl_accessorize.id_c = tbl_auto.id_c
GROUP BY id_c

abs 列中的 return 是 0,因为第一行是 0,但相同的 id_c 有另一行是 1。 我需要一个等于 1 的结果,因为至少有一个是同一辆车的 1。

结果:

id_c | abs
1    | 1
2    | 1
3    | 0

我想你可能想要 max():

SELECT c.id_c, MAX(aa.abs)
FROM tbl_car c LEFT JOIN
     tbl_auto_accessorize aa
     ON aa.id_c = c.id_c
GROUP BY c.id_c;

通常,聚合查询中的所有列都应在 GROUP BY 中或作为聚合函数的参数。这就是我删除 id_a.

的原因