1

複数のテーブル (ID 列によって関連付けられている) からカウントを収集する必要があります。これらはすべて、他の場所で動的 SQL で使用するためにパラメーター化できる 1 つのクエリです。これは私がこれまでに持っているものです:

SELECT  revenue.count(*),
        constituent.count(*) 
FROM REVENUE
INNER JOIN CONSTITUENT 
    ON REVENUE.CONSTITUENTID = CONSTITUENT.ID

カウントをどう処理するかわからないため、これは機能しませんが、使用する正しい構文がわかりません。

少し明確にするために、ID ごとに 1 つのレコードが必要ではなく、テーブルごとに合計数が必要です。それらを 1 つのスクリプトに結合する必要があるだけです。

4

4 に答える 4

2

これはうまくいきます:

select MAX(case when SourceTable = 'Revenue' then total else 0 end) as RevenueCount,
       MAX(case when SourceTable = 'Constituent' then total else 0 end) as ConstituentCount
from (
    select count(*) as total, 'Revenue' as SourceTable
    FROM revenue
    union
    select count(*), 'Constituent'
    from Constituent
) x
于 2013-07-01T18:57:16.880 に答える