【发布时间】:2009-04-17 23:56:02
【问题描述】:
我一直在尝试为下面的场景编写一个 mySQL 语句,但我无法让它按预期工作。如果你们能帮我把它弄好,我将不胜感激!
我在 mySQL 数据库中有两个表,event 和 route:
事件:
标识 |日期 |目的地 |司机 | 乘客 |描述 |执行
路线:
名称 |距离
- drivers 包含一个字符串,其中包含在“jack:jill:john”形式的事件中注册驱动程序的用户名。
- destination 包含事件目的地(哦,真的吗?),其值始终与表 route 中的字段 name 中的值之一相同em>(即目的地必须已经存在于 route 中)。
- 已执行 告知事件是即将发生 (0) 还是已经执行 (1)。
- distance 是从家到目的地的距离,以公里为单位。
我想要的是获得一个特定用户的总距离,只计算已经执行的事件。
例如,如果 Jill 已在两个执行的事件中注册为驾驶员,其中到目的地的距离分别为 50 公里和 100 公里,我希望查询返回值 150。
我知道我可以使用 ...WHERE drivers LIKE '%jill%' AND executed = 1 之类的东西来获取 Jill 驾驶的执行事件,并使用 SUM() 来获取总距离,但是我如何将这两个表结合起来并让它们全部工作?
非常感谢您的帮助!
/林纳斯
【问题讨论】: