2014-11-01 158 views
-3

我有4个表如下:获取元素名称

tbProjekt 
-------------- 
Id 

每台机器都有ProjektId属于:

tblMaszyna 
-------------- 
Id 
ProjektId 


tblElement 
-------------- 
Id 
Name 

此表我正在关联用机器元素:

tblMaszElem 
-------------- 
Id 
IdElem 
IdMach 

我想采取这些元素 - 来自tblElement的属于属于指定Pro的机器的名称jectId。因此,让我们说ProjectId 10我如何实现这一目标?

+0

一些事情你缺少亲爱的,tblMaszyna与其他表格的链接是什么。 tbProjekt在哪里使用。在tblMaszElem中,Idelem,idmach是什么? – Ajay2707 2014-11-01 11:39:56

回答

0
select e.Name 
from tbElement e 
inner join tbMaszElem me on me.IdElem = e.Id 
inner join tbMaszyna m on m.Id = me.IdMach 
inner join tbProject p on p.Id = m.ProjektId 
where 
    p.Id = 10 

这应该做。这将选择其关联到是关联到一个项目,一台机器在tbElement表中的所有条目的名称列在项目编号为10

0

请检查该样本及其注释

select 
    te.name 
from 
    tblMaszElem tmem 
inner join tblElement te on te.id = tmem.IdElem 
inner join tblMaszyna tmzy on tmzy.id = tmem.IdMach 
--inner join tbProjekt tp on tp.id = tmzy.ProjektId --i think this should be avoidable 
where 
    tp.id = 10 
+0

为了避免连接,它需要使用'WHERE tmzy.ProjektId = 10'来代替。 – chrisb 2014-11-01 12:29:28