当引用一个表中的列是另一个表中的列中的记录时,SQLite查询中的错误是什么

h5qlskok  于 2023-04-06  发布在  SQLite
关注(0)|答案(1)|浏览(195)

Sqlite查询

Select n."I_NAME" as I2Name from (select I2table from All_I) n

错误:
无此列:n.I_NAME
它检查列n。I_NAME与I_NAME不同,n是表别名
当我尝试硬编码I2table值时,没有这样的错误
示例:

Select n."I_NAME" as I2Name from R1I2 n

R1I2是一个包含I_NAME列的表,而I2table是All_I中的一列,其记录为R1I2。
所以它是关于在一个表中找到一个列,而这个列是另一个表的一个列中的一条记录。
如何修改上面突出显示的查询?

yuvru6vn

yuvru6vn1#

子查询select I2table from All_I将返回表n,其中只有列I2table
接下来,您将查询列n."I_NAME",正如我们所看到的,它不在n表中。
所以,要运行查询而不出错,需要将I_NAME列添加到表n中。最简单的方法是将as I_NAME添加到子查询中:

Select n."I_NAME" as I2Name from (select I2table as I_NAME from All_I) n

目前还不清楚你到底需要实现什么,但上面的查询可以简化,以获得相同的结果如下:

Select n.I2table as I2Name from (select I2table from All_I) n

相关问题