SQLITE查询,返回多个表中的记录,每个表连接各自的元表

SQLITE查询,返回多个表中的记录,每个表连接各自的元表,sql,sqlite,Sql,Sqlite,我正在为我的应用程序开发一个新的数据库后端,以提高灵活性 我现在有四个表,而不是一个包含许多列的大表 表“ROM”(包含一列“名称”) 表“romsmeta”(包含“名称”、“标题”、“年份”列) 表“软件”(包含“系统”和“名称”列) 表“softwaremeta”(包含“系统”、“名称”、“标题”、“年份”列) 所以现在我需要在查询中使用连接类型,但我的技能有点生疏。基本上,我想执行以下伪查询 选择标题,年份自(ROM内部连接romsmeta,软件内部连接softwaremeta),其中

我正在为我的应用程序开发一个新的数据库后端,以提高灵活性

我现在有四个表,而不是一个包含许多列的大表

  • 表“ROM”(包含一列“名称”)
  • 表“romsmeta”(包含“名称”、“标题”、“年份”列)
  • 表“软件”(包含“系统”和“名称”列)
  • 表“softwaremeta”(包含“系统”、“名称”、“标题”、“年份”列)
所以现在我需要在查询中使用连接类型,但我的技能有点生疏。基本上,我想执行以下伪查询

选择标题,年份自(ROM内部连接romsmeta,软件内部连接softwaremeta),其中标题类似“%enteredTitle%”

显然,这种语法是无效的

什么查询将返回我要查找的结果

提前谢谢

试试这个:

选择物料名称、物料年份
从RomsR
内连接romsmeta rm
在r.name=rm.name上
内部连接软件
在s.name=rm.name上
内联元
在sm.name=rm.name上
如果rm.Title像“%enteredTitle%”
请尝试以下操作:

选择物料名称、物料年份
从RomsR
内连接romsmeta rm
在r.name=rm.name上
内部连接软件
在s.name=rm.name上
内联元
在sm.name=rm.name上

如果rm.Title像“%enteredTitle%”
Hmm,则返回“不明确的列名:Title:SELECT Title,Year”确定,我缺少rm前缀。它现在应该可以工作了。嗯,这将返回正确数量的结果(来自表ROM和软件的结果),但是标题/年份值都是相同的。也许您需要来自软件元表的数据,然后将第一行从rm.Title,rm.Year更改为sm.Title,sm.yearhm,这将返回“不明确的列名:标题:选择标题,年份”好的,我缺少rm前缀。它现在应该可以工作了。嗯,这会返回正确数量的结果(来自表ROM和软件的结果),但Title/Year值都是相同的。可能您需要从softwaremeta表中获取数据,然后将第一行从rm.Title,rm.Year更改为sm.Title,sm.Year