我有一系列名單信息的詳細信息。重複匹配一組詳細信息類型與多個行
我有一張名單詳細信息表。每個人都有一個ID#,並且該ID#有大約50行的詳細信息。 PK
是ID#,詳細類型和日期。
我想加入名單詳細信息表中的每一行的子查詢的結果,以找到人們缺少什麼細節類型。
我能達到的結果我想有個人:
select *
from (
-- a big sub-query yielding 39 lines of the detail types I want
) list_of_details
left join textDetail td
on td.detailType = list_of_details.detailType
and td.sid_member = 2071
order by dt.sid_detailType
產量:
detailType ID detailType date_start value_detail
-------------- ----------- -------------- ---------------------------------
1 2071 1 2017-03-14 00:00:00.000 test
1 2071 1 2017-03-14 16:58:50.037 NULL
2 2071 2 2017-03-14 00:00:00.000 test
2 2071 2 2017-03-14 16:58:50.037 NULL
3 NULL NULL NULL NULL
4 2071 4 2017-03-14 16:58:50.037 NULL
16 NULL NULL NULL NULL
17 2071 17 2017-03-14 16:58:50.037 NULL
18 2071 18 2017-03-14 16:58:50.037 NULL
19 2071 19 2017-03-14 16:58:50.037 NULL
20 2071 20 2017-03-14 16:58:50.037 NULL
21 2071 21 2017-03-14 16:58:50.037 NULL
22 2071 22 2017-03-14 16:58:50.037 NULL
23 2071 23 2017-03-14 16:58:50.037 NULL
24 2071 24 2017-03-14 16:58:50.037 NULL
25 2071 25 2017-03-14 16:58:50.037 NULL
27 2071 27 2017-03-14 16:58:50.037 NULL
28 2071 28 2017-03-14 16:58:50.037 NULL
33 NULL NULL NULL NULL
34 NULL NULL NULL NULL
35 2071 35 2017-03-14 16:58:50.037 NULL
36 2071 36 2017-03-14 16:58:50.037 NULL
37 2071 37 2017-03-14 16:58:50.037 NULL
38 2071 38 2017-03-14 16:58:50.037 NULL
39 2071 39 2017-03-14 16:58:50.037 NULL
40 2071 40 2017-03-14 16:58:50.037 NULL
41 2071 41 2017-03-14 16:58:50.037 NULL
42 2071 42 2017-03-14 16:58:50.037 NULL
46 2071 46 2017-03-14 16:58:50.037 NULL
47 2071 47 2017-03-14 16:58:50.037 NULL
48 2071 48 2017-03-14 16:58:50.037 NULL
51 2071 51 2017-03-14 16:58:50.037 NULL
52 2071 52 2017-03-14 16:58:50.037 NULL
53 2071 53 2017-03-14 16:58:50.037 NULL
54 2071 54 2017-03-14 16:58:50.037 NULL
55 2071 55 2017-03-14 16:58:50.037 NULL
56 2071 56 2017-03-14 16:58:50.037 NULL
57 2071 57 2017-03-14 16:58:50.037 NULL
58 NULL NULL NULL NULL
我並不擔心在value_detail
列NULL
,這是一個測試用戶。
我需要對幾百個用戶重複此查詢,並找出它們丟失的條目。例如上述人缺少detailType
3,16,33,34,58
- 編輯 -
卸下and td.sid_member = 2071
收率只有匹配的行。在這種情況下,sid_member 2071
的結果排除detailType
不會發生的行,這正是我想要的。
添加where td.sid_member is null
也不返回結果
我做了一個更新我的回答如下。您需要一個ID和明細類型的主列表。然後,您可以將其加入該列表,以查找每個唯一ID的缺失細節類型。 – abraxascarab