どうすればこれを行うことができますか(本番ではありません。きれいではないことを知ってください):
SELECT mat1_01_06, count(mat1_01_06), MAX(mat_no),
MAX(
(
SELECT
document.mat_no
FROM TimeMatters11.lntmu11.document
WHERE matter.sysid = document.mat_id and ccode = 'SUMS'
)
)
FROM TimeMatters11.lntmu11.matter
WHERE con_no in
('PR12-221' , '...', '...)
AND mat1_01_06 != ''
GROUP BY mat1_01_06
HAVING count(mat1_01_06) > 1
ORDER BY count(mat1_01_06) desc
出力は
メッセージ 130、レベル 15、状態 1、行 7
集計またはサブクエリを含む式に対して集計関数を実行できません。
「SUMS」とコード化された子ドキュメントを持つ mat_no が欲しいだけです
編集 2
サブクエリなしで出力
Index Cnt mat_no(not useful)
112565/11 25 12-61692
16601/11 12 12-58850
34934/11 12 12-58854
34935/11 12 12-61983
704612/12 12 12-55487
712166/12 11 12-55613
707588/12 9 12-55604
91394/11 8 12-57115
望ましい
Index Cnt Mat_no that contains doc 'SUMS'
112565/11 25 12-61692
16601/11 12 12-58850
34934/11 12 12-58854
34935/11 12 12-61983
704612/12 12 12-55487
712166/12 11 12-55613
707588/12 10 12-55604
mat_no はインデックスに対して多対 1 の関係であり、子ドキュメント「SUMS」を持つ特定の mat_no がマスター レコードです。次に集中する必要があるもの。混乱させてごめんなさい。