2016-02-26 27 views
1

我有2個包含每個數字的公共ID的表格。 table1只包含1行,每個ID都有一個數字。根據這個數字和相應的ID,我想在表2中找到最小ID併爲每個數字(第一個表格)顯示此唯一ID。 table2包含多個ID(用於table1的數量)。選擇最小(ID),其中每個數字有多個ID的數字

我的SQL是這樣的:

select table1.ID, table1.number 
from table1, table2 
where table2.ID = table1.ID 
and table1.number in (<list of comma separated numbers>); 

但這返回每個號碼所有的ID,所以多行與所有符合我條件的ID每一個數字。

- >我需要只顯示每個號碼的最小ID。

謝謝。

+1

您能否提供一個表格示例和一些示例數據來說明問題(即DDL和DML語句)以及預期輸出的示例。 – MT0

+0

能否請您提供一些參考數據 – Sandeep

回答

1

從你的文字說明,是這樣的:

SELECT MIN(t2.ID) AS min_id, 
     t1.number 
FROM table1 t1 
     INNER JOIN 
     table2 t1 
     ON (t2.ID = t1.ID) 
WHERE t1.number in (<list of comma separated numbers>) 
GROUP BY t1.number; 

然而,如果沒有一些樣本數據是很難說。

+0

MT0:謝謝,ti工作正常! :) – Kostas75

+0

MT0:不知道我是否可以在這裏問,但:有什麼辦法也可以從表3中獲取(選擇)相關數據(文本),其中t3.ID = t1.ID = MIN(t2.ID )?當我嘗試這樣做時:select select MIN(t2.ID)AS min_id,t1.number,t3.data,我得到錯誤,「不是GROUP BY表達式」的t3。我試着用t3.ID = t1.ID中的左連接table3來做... – Kostas75