2017-05-30 56 views
1

tbl1結構這樣在MS加入表之間只記錄一次訪問

Name   Type 
======  ===== 
John    1 
David   1 
Jane    2 
William   3 
Alex    2 
Ryan    1 

而且tbl2結構這樣

Index Type  Job 
    1  1  Clean 
    2  1  Wash 
    3  2  Carry 
    4  2  Package 
    5  3  Sell 

我想加盟紀錄匹配Type,但每個記錄在tbl1只加入一次,一個記錄在tbl2

即:

如果 John加入Clean然後David必須加入Wash。或者如果JohnWash聯合,則David必須與Clean聯合。

如果David加入WashClean無關緊要,我只需要它們與符合條件的記錄連接並加入一次。

我會確保在每個Type「TBL1」會有「tbl2的」記錄的等量

我主要是對MS訪問,以便查詢這個環境下工作將是最好的〜謝謝大家讀。

致以問候

+0

似乎是'tbl1'冗餘記錄。你想用這個記錄做什麼? –

+0

如果這不是Sql Server,那麼刪除標籤。 –

+0

在'tbl1'中,你也有'ran'與'type = 1'。那麼,那個'tbl2'的預期關係是什麼? –

回答

0

請嘗試以下查詢。

select name, (select TOP(1) job from tbl2 where tbl1.type = tbl2.type) from tbl1 

希望它能幫助

+2

子選擇不會選擇任何內容。 – jarlh

+0

@jarlh糾正它的愚蠢錯誤 –

+0

這個查詢使「John」和「david」和「ryan」與「clean」匹配 –