我已经研究了一段时间的 php 技能,但我什至不知道如何开始构建这个函数。
假设我在名为 Cars 的表中有 20 个条目,并且这些汽车中的每一个都有其自己唯一的自动递增 ID,以及制造商的 ID 在另一列中。然后我有另一个表,其中包含汽车制造商的名称。例如,5 辆汽车的汽车制造商 ID 为 A,另外 3 辆汽车的汽车制造商 ID 为 B,依此类推(其中 A 和 B 是汽车制造商的 ID 号)。
我将如何搜索 Cars 表,然后按字母顺序回显汽车制造商列表?
我可以弄清楚如何通过在每次找到汽车制造商时回显名称来回显汽车制造商的列表,但这意味着具有相同的汽车制造商名称 5 次而不是一次,我不知道如何将其按字母顺序排列。
如果我不是很清楚,这里有一个更形象的例子来解释我的意思。
汽车表:
1 - WhatCar - 3
2 - WhoCar - 3
3 - TheCar - 2
4 - SomeCar - 3
5 - ThisCar - 1
6 - ACar - 3
创客表:
1 - AMaker
2 - DMaker
3 - CMaker
4 - BMaker
期望的输出:
AMaker
CMaker
DMaker
此外,如果我有第三个表,包含 3 个条目,只有自动递增 ID 和汽车 ID,如下所示:
1 - 3
2 - 4
3 - 6
我如何使用 if 语句使脚本生成仅对应于此“过滤器”的 Makers 列表? (如 if X 然后解析 Cars 表,elseif Y 仅解析第三个表指定的 Cars 表中的汽车)
我认为这是一个简单的功能,但我似乎无法在脑海中描绘它,也找不到合适的例子。
最佳答案
查询相当简单。 . . join
和 distinct
和 order by
。
对字段名做一些假设:
select distinct m.maker
from cars c join
makers m
on c.makerid = m.makerid
order by m.maker;
如果您有第三张表,您可以使用额外的 join
或 where
条件来处理:
select distinct m.maker
from cars c join
makers m
on c.makerid = m.makerid join
thirdtable tt
on c.carid = tt.carid
order by m.maker;
关于mysql - 选择一个mysql表的所有内容,并回显对应类别的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20673726/