有时,达到目的的唯一方法是创建一段非常丑陋和令人发指的sql,以至于执行多个查询的替代方法很有吸引力:-)
我只想查询一个朋友列表,然后为每个朋友获取三张最近的照片。就像是:
friend_list = sqlexec "select user2_id from relations where user1_id = "
+ current_user_id
photolist = []
for friend in friend_list:
photolist += sqlexec "select user_id, id, date_uploaded from photos"
+ " where user_id = "
+ friend.get("user2_id")
+ " order by date_uploaded desc fetch first 3 rows only"
# Now do something with photolist
你不 具备 做它为一个查询任何比你只限于一个正则表达式匹配一个十恶不赦的模式。当然,成为“聪明人”会很好,但很少有必要。我更喜欢务实的方法。