2014-09-13 71 views
0

請看下面的圖。數據庫加入連接4個表

enter image description here

在這裏,我需要使用idClient檢索PortfolioInvestment_TypeInvestment_TypeInvestment_Type表中的字符串。 ?

不幸的是,這個數據庫連接是對我:(太複雜我怎樣才能實現這個任務

PS:

簡單來說,我需要做的是,我需要。得到的Clients名單,看看他們有什麼Portfolios和他們的每個投資組合的portfolio_Type

+0

從查詢結果中需要的所有字段是什麼?看起來每個'idClient'都可以有很多投資組合,因此有很多投資類型,那麼您的查詢參數是什麼?只是一個'idClient'? – hukir 2014-09-13 20:17:58

+0

@hukir:是的,只是ID客戶端。簡而言之,我需要做的是這個;我需要獲取「客戶」列表,看看他們的每個投資組合的「投資組合」和「投資組合類型」是什麼。 – 2014-09-13 20:48:04

+0

@hukir:'客戶'可以有許多'Portfolios'。一個'投資組合'可以有一個'Investment_Type' – 2014-09-13 20:56:49

回答

1
SELECT Investment_Type 
FROM Investment_Type 
WHERE idInvestment_Type IN (
    SELECT idInvestment_Type 
    FROM Portfolio 
    WHERE idPortfolio IN (
     SELECT idPortfolio 
     FROM Client_Portfolio 
     WHERE idClient IN (SELECT idClient FROM Client) 
     ) 
    ) 
+0

這工作。謝謝! – 2014-09-14 08:27:06

2

嘗試下面提到的查詢:

SELECT IT.Investment_Type 
FROM 
Client_portFolio CF 
LEFT JOIN portfolio P ON (CF.idPorFolio = P.idPorFolio) 
LEFT JOIN investment_type IT ON(P.idInvestmentType =IT.idInvestmentType) 
WHERE CF.idClient = <ClientId>