Terkadang, satu-satunya cara untuk mencapai tujuan adalah dengan membuat bagian SQL yang sangat jelek dan keji, sehingga alternatif melakukan banyak kueri menjadi menarik :-)
Saya hanya akan melakukan satu kueri untuk mendapatkan daftar teman Anda kemudian, untuk setiap teman, dapatkan tiga foto terbaru. Sesuatu seperti:
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
Anda tidak memiliki untuk melakukannya sebagai satu kueri seperti halnya Anda terbatas pada satu ekspresi reguler untuk mencocokkan pola keji. Tentu akan menyenangkan untuk menjadi "pintar" tetapi jarang diperlukan. Saya lebih suka pendekatan pragmatis.