2017-08-29 44 views
-4

我有3個表SQL三個表

  • cl_address:FK - cl_ser_id,FK - add_ser_id
  • address:PK - add_ser_id
  • youths_info:FK - cl_ser_id

我會喜歡

select * 
from youths_info 

select * 
from address 

可以將某些大師請幫忙,並與代碼,並建議最優化的SQL?

下面是它的最後INNER JOIN

SELECT a.*, y.* 
FROM [informix.address] a 
INNER JOIN [informix.cl_address] cla ON a.addr_ser_id = cla.addr_ser_id 
INNER JOIN [informix.cl_address] cla ON [youth_info] y 
cla.cl_ser_id = y.cl_ser_id 
+1

請與你的問題更加清晰。這些信息非常稀缺,以至於沒有人會眨眼睛。請參閱[如何提問]第一(https://stackoverflow.com/help/how-to-ask),爲自己的好! –

回答

0

由於沒有樣本數據和期望的結果導致錯誤我試代碼,我假設你需要如下查詢。

SELECT a.*, 
     yi.* 
FROM address a 
JOIN cl_address cla ON a.add_ser_id = cla.add_ser_id 
JOIN youths_info yi ON yi.cl_ser_id = cla.cl_ser_id; 

上面的查詢將返回inner結果所有列從addressyouth_info表。如果您需要leftrightouter結果,你必須調整根據您的dbms上述查詢連接英寸