【发布时间】:2012-02-20 03:01:27
【问题描述】:
所以我将这个 SQL 的结果输入到一个数组中。该数组稍后成为在键入时操作的文本框的建议。我希望它只返回每个名字 1 次,即使此人有多个约会。目前,这会返回具有该姓名的人的所有约会,因此如果“Brad Robins”有 5 个约会,并且我开始输入“Brad”,它会在建议中显示“Brad Robins”5 次,而不是只显示一次。
$sql = "SELECT DISTINCT CONCAT(clients.studentFirstName, ' ', clients.studentLastName) AS name, appointments.location, appointments.subLocation, appointments.appointmentAddress1, appointments.appointmentAddress2, appointments.appointmentCity, appointments.appointmentState, appointments.appointmentZip, appointments.startTime, appointments.endTime, appointments.date, clients.school
FROM appointments JOIN clients
ON appointments.clientID = clients.clientID
WHERE CONCAT(clients.studentFirstName, ' ', clients.studentLastName) = '".$roommate."' AND clients.school = '".$school."';";
在我看来,DISTINCT 和 CONCAT 似乎并没有很好地结合在一起。
【问题讨论】:
-
如果此查询的唯一目的是返回一个名称列表以向用户建议,而您实际上并没有在程序的最终输出中使用约会表......为什么你一开始就加入了吗?
-
我稍后使用其他信息,但很容易将其分开并执行两个查询,第一个只留下名称
标签: sql select distinct concat