クエリに問題があり、誰かが助けてくれることを望んでいました. 解決策を探してみましたが、検索用語で同様のシナリオが見つからないようです。
これが私が探しているものです:
3 つの列を持つテーブルがあり、最初の列に値を返し、2 番目の列に値の 2 つのカウントを返す必要があります。1 つのカウントはパラメーターに基づいており、もう 1 つは合計カウントです。理想的には、同じカウントを持つ列 1 の値のみを返したいと思います。
例えば:
Part Number | Make ID
ABC123 | 1<br>
ABC123 | 1<br>
ABC123 | 3<br>
DEF456 | 1<br>
DEF456 | 1
Part Number | Count of Apps Where Make ID = 1| Count of Total Apps
ABC123 | 2 | 3
DEF456 | 2 | 2
これまでのクエリは、パラメーター値を持つ部品番号のアプリの合計数を返しますが、両方の数を返す必要があります。
SELECT apps.part#,
COUNT(DISTINCT application#)apps
FROM [mytable] AS apps
INNER JOIN (SELECT part#
FROM [mytable]
WHERE make = '1') AS sz
ON sz.part# = apps.part#
GROUP BY apps.part#
ORDER BY 1
どんな助けでも大歓迎です!
みんな、ありがとう!私はいくつかの正解を受け取り、最初に与えられたものを選択しました。
SELECT part#,
COUNT(DISTINCT CASE WHEN make = '1' THEN application# END) make1_apps,
COUNT(DISTINCT application#) total_apps
FROM [mytable]
GROUP BY part#
HAVING COUNT(DISTINCT CASE WHEN make = '1' THEN application# END)
= COUNT(DISTINCT application#)
ORDER BY part#
再度、感謝します!