2014-02-28 108 views
0

嗯,我在我的db(MATERIALS和INVENTORY)中有两个表。 我必须选择一种材料,并获取其他表格中的细节,然后我必须展示它们。 我不知道这是否是好的,但我对这个查询尝试:我如何从两个不同的表中获取数据

select* from INVENTARIO whereMATRICULA IN (select FAMMTL_CDG_REGISTRATION from MATERIALS where FAMMTL_CDG_REGISTRATION = #{matricula});

我必须把这样的结果对一个bean,并显示它。 可以吗?

+0

您在这里缺少空格('where MATRICULA'),但其他情况看起来没问题。为什么不使用JOIN而不是子选择?此外,你是否得到一个错误或只是要求一个SQL代码审查(在这种情况下,这可能会移动到codereview堆栈)。 –

回答

0

你需要加入他们使用一些共同的专栏(最好是ID)。我想INVENTARIO对材料有一个外键。那是对的吗?在这种情况下,这将是:

select * from INVENTARIO inv, MATERIALS mat on inv.fk = mat.id 

哪里FK是外键材料ID。但是这只是猜测,因为我们不知道你的表格是怎么样的。 这将是一个隐含的“交叉”连接。有关其他可能性,请参见http://en.wikipedia.org/wiki/Join_%28SQL%29

+0

这是我的错误,现在我有我的fk材料id。所以它好,谢谢。 – alucabj

相关问题