2014-05-21 55 views
0

我有一个包含三个字段,其中两个表链接到同一个表中查找值(第三链接到第二个表)如何将一个表中的两个字段加入第二个表中?

Deployment Table 
--------------------------------- 
INDEX, APP, DEVSERVER, PRODSERVER (was previously just SERVER) 

Server Table 
--------------------------------- 
INDEX, NAME 

App Table 
--------------------------------- 
INDEX, NAME 

以前,当我在部署刚刚服务器表我在做:

SELECT d.index, a.name as `app`, s.name as `server` 
FROM deployment as `d`, app as `a`, server as `s` 
WHERE d.app = a.index AND d.server = s.index 

它工作正常。但现在,我想“双dip”进入服务器表DEVSERVERPRODSERVER我不是最模糊的方式如何去了解它。

+0

这不是很清楚,actually.Do要检索'DEVSERVER'和'PRODSERVER'过还是什么? – potashin

回答

0

首先,您应该使用正确的join语法。其次,你需要引入第二个连接到server表:

SELECT d.index, a.name as app, dserv.name as devserver, pserv.name as prodserver 
FROM deployment d join 
    app a 
    on d.app = a.index join 
    server dserv 
    on d.devserver = dserv.index join 
    server pserv 
    on d.prodserver = pserv.index; 
+0

钉住它...在pserv.index(而不是.serv)中稍作调整** SELECT d.index,作为应用程序的a.name,作为devserver的dserv.name,作为prodserver的pserv.name 从部署d JOIN应用程序a on d.app = a.index 在d.devserver上加入服务器dserv = dserv.index 在d.prodserver上加入服务器pserv = pserv.index ** –

相关问题