कभी-कभी, अंत को प्राप्त करने का एकमात्र तरीका एसक्यूएल का एक टुकड़ा इतना बदसूरत और जघन्य बनाना है, कि कई प्रश्नों को करने का विकल्प आकर्षक हो जाता है :-)
मैं आपके मित्रों की सूची प्राप्त करने के लिए केवल एक प्रश्न करूंगा, फिर प्रत्येक मित्र के लिए, तीन सबसे हाल की तस्वीरें प्राप्त करें। कुछ इस तरह:
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
आपके पास है . नहीं है इसे एक प्रश्न के रूप में करने के लिए आप एक जघन्य पैटर्न से मेल खाने के लिए एक नियमित अभिव्यक्ति तक सीमित हैं। निश्चित रूप से "चतुर" होना अच्छा होगा लेकिन यह शायद ही कभी जरूरी है। मुझे व्यावहारिक दृष्टिकोण पसंद है।