我正在处理sqlite数据库并尝试在两个表之间发出特殊请求。 在第一个表(例如table1)中,我有两列名为" reference"和" ID"。我想在其中搜索一个ID,在"引用"中获取它的价值。并显示表中具有此值作为名称的所有信息。 我试图在互联网上找到一些东西,但我没有找到答案。
这是我提出的要求:
select * from (select Reference from table1 where Name='Value1')
它只给我
的结果select Reference from table1 where Name='Value1'
编辑: 我想要
select Reference from table1 where Name='Value1' => name of table
select * from name of table => show all elements
我是sqlite的新人,但我希望你能帮助我。
先谢谢你
马特
答案 0 :(得分:0)
如果我正确理解你的问题,我认为没有办法在sql中完全(或至少不是以便携方式)。我推荐3种解决方案中的一种:
完全按照自己的意愿行事,但在Python中进行一些处理。这意味着查询主表,然后根据返回的每一行构造新查询。
如果您有许多表,可能会动态更改 - 重新考虑数据库设计可能是个好主意。也许您可以将一些更改的表名移动到一个新列中并将数据放在一个表中?
如果您只有几个表可用作参考并且它们永远不会更改,您可以加入所有可能的表,例如:
SELECT ... FROM table1 LEFT JOIN table2 ON table1.id = table2.id AND table1.Reference =“table2” LEFT JOIN table3 ...
但你可能需要更好地解释一下......