0
這裏的第一次出現是我的表:表(訪問)項
ID NAME FAMILY_ID HASKIDS ISPARENT
--------------------------------------------------------
1 John 1 1 1
2 Bill 1 1 0
3 Dick 1 1 0
4 Jane 2 1 1
5 Mary 2 1 0
6 Pete 3 0 1
7 Jess 3 0 1
,我想結果是
NAME FAMILY_ID
---------------------
Bill 1
Mary 2
的邏輯是:從有孩子每個家庭,秀他們的第一個出生的名字(每個非父母成員的最高ID)和相應的家庭ID。
所以這裏是我的第一次查詢,QUERY1:
SELECT DISTINCT family_id
FROM families
WHERE (haskids=1)
ORDER BY family_id;
這帶來的結果(正確):
1
2
我的第二個查詢,QUERY2:
SELECT TOP 1 name, family_id
FROM families
WHERE family_id IN (SELECT family_id FROM query1) AND isparent=0
ORDER BY id;
其中th e不希望的結果:
NAME FAMILY_ID
---------------------
Bill 1
因爲top 1不會從每個子結果中取出top 1,但總體上較小的entry id。
我確定我錯過了一些東西,並有一個簡單的方法來實現這一點,但我無法弄清楚如何。
在此先感謝您的幫助
是否使用在直通模式到SQL Server的訪問?如果是這樣,SQL Server的版本是什麼? – Andomar 2013-02-28 12:26:17
只是沒有別的訪問 – MIrrorMirror 2013-02-28 12:28:37