首页 > 解决方案 > 如何通过查询另一个表中的数据来选择一个表中的所有行

问题描述

我有 3 个 SQLite 表,必须查询这些表才能获得最终数据。

我必须选择ItemAppearance中的所有内容,其中DisplayType == 4
然后从ID字段中获取相应的数字并选择ItemModifiedAppearance
中的 所有行,其中ItemAppearanceID == Previous Number 然后获取相应的数字ItemID字段并选择ItemSearchName中 的所有行,其中ID == Previous Number最后,我可以检索到我需要的所有Display_lang值 的大列表。 图形化:




在此处输入图像描述

获取此字符串列表的最佳/最快/最有效方法是什么?

标签: sqldatabasesqliteoptimization

解决方案


你的问题有点令人困惑,但我猜这里join是你的朋友:

SELECT *
FROM ItemAppearance ia LEFT JOIN 
     ItemModifiedAppearance im
     ON ia.ID==im.ItemAppearanceID JOIN
     ItemSearchName isn
     ON ia.ID==isn.ID
WHERE ia.DisplayType = 4;

这样就可以获取所有 3 个数据库,其中所有 id 都匹配,但只有ItemAppearance中的DataType为4 的数据库。

希望这会有所帮助,或者有意义,或者甚至在您的问题的范围内。让我知道。


推荐阅读