我有两个表objectTable
和photo_table
。这里从objectTable
SQLite内部连接限制1
ID TEXT
1 Kaunas
2 Vilnius
3 Palanga
4 Prienai
的样本数据,在这里从photo_table
OBJECT_ID PHOTO_ID NAME
1 7 tets7.jpg
1 8 tets8.jpg
1 9 tets9.jpg
1 10 tets10.jpg
1 11 tets11.jpg
2 3 tets3.jpg
2 2 tets2.jpg
3 1 tets1.jpg
3 5 tets5.jpg
4 6 tets6.jpg
4 7 tets7.jpg
4 8 tets8.jpg
所以数据,你可以看到一个对象可以有很多pictuure。我需要得到evety对象的第一张图片(我的输出应该是)
ID TEXT NAME
1 Kaunas tets7.jpg
2 Vilnius tets3.jpg
3 Palanga tets1.jpg
4 Prienai tets6.jpg
这是我的查询:
select *
from objectTable
inner join photo_table
on photo_table.OBJECT_ID = (select OBJECT_ID
from photo_table
where photo_table.OBJECT_ID = objectTable.ID
order by photo_table.OBJECT_ID desc
limit 1).
不过我揣摩几乎3小时为什么这个查询不工作。我错过了什么?我的逻辑正确吗?
您的样本输出没有意义的照片。你说你想要得到每一个物体的第一张照片,但是什么使得照片“首先?”对于样本输出中的第二个结果,照片必须按照与按升序排序的其他照片相反的顺序排序。你确定'tets3.jpg'不应该是'tets2.jpg'吗? – ghenghy