ロスタ情報の詳細があります。詳細タイプのセットを複数の行と繰り返し照合する
私はロスターの詳細のテーブルを持っています。各個人の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
について心配していないが、これはテストユーザーであります。
数百人のユーザーに対してこのクエリを繰り返し、見つからないエントリを見つける必要があります。例えば、上記の人がand td.sid_member = 2071
収率のみ一致する行を削除detailType
3、16、33、34、58
--EDIT--
が欠落しています。この場合、sid_member 2071
の結果は、detailType
が発生しない行を除外します。何の結果
ごとに、あなたの非マッチを与えるだろう。 IDと詳細タイプのマスターリストが必要です。その後、そのリストに結合を残して、各固有IDごとに欠落している詳細タイプを見つけることができます。 – abraxascarab