【发布时间】:2015-06-27 11:32:29
【问题描述】:
我有三张桌子。
用户 - 用户信息 - 地区
我构建了一个内部连接来获取 user_id 和 user_info。
Select * from users a inner join user_info b on a.id = b.user_id
但我在 user_info 中有一个名为 location 的列,它返回来自特定位置的 ID。就像这样:
00;11
为了获取位置,我必须将 user_info 表内联到另一个名为区的表,因为最后两个字符从区中获取了 ID。
这就是为什么我想内连接所有三个表,如下所示:
Select * from users a inner join user_info b on a.id = b.user_id inner join districts c on b.location = c.District_id
问题是,我只想从 Location 列中获取最后两个字符。但我得到了
00;11 //我只想得到11
稍后我将使用 Json 输出所有内容,我想获取用户信息和他的位置。
是否可以在 SQL 中对列进行“子串化”?
谢谢。
【问题讨论】:
-
如果您对 RTFM 感到厌烦:dev.mysql.com/doc/refman/5.0/en/…
-
如果使用 SUBSTRING 函数对字段进行 JOIN,效率不会很高。您最好添加一个仅包含子字符串结果的列。