我有一个界面中,我将展示从的SQLite数据库项的列表,每个项目可以是两种类型之一:的SubItem1和SubItem2。该数据库目前有三个表格:项目,子项目1和子项目2。优化加入
表物品包含列SubItemId和类型(0 - 的SubItem1; 2 - SubItem2)
的SubItem1和SubItem2具有不同的列,但它们中的一个很好的量是一样。
所以使用填充这个名单我使用的查询,如:
select i.*, s1.name, s2.name, s1.time, s2.place
from ITEMS i
left outer join sub1 s1 on (i.type = 0 and i.sub_id = s1.id)
left outer join sub2 s2 on (i.type = 1 and i.sub_id = s2.id)
我用这些列作为一个例子,但我选择各个子项表中的约10列。
使用此查询,我得到了大量的冗余行。例如,当某个特定项目的类型为SubItem1时,我也将收到表格SubItem2的空列。
是否有更有效的方法来进行此查询?
谢谢。
样本数据和期望的结果将有助于解释你想完成什么。 –