0

次のシナリオを検討してください。

私はこのような3つのテーブルを持っています: 詳細データを含む私のメインテーブル:

 ID     CityCode          Switch1      Switch2      Price          Desc
 --------------------------------------------------------------------------
 1        202               10            1         2342        Some Desc     
 2        202               10            1          12         Some Desc
 3        202               12            1          22         Some Desc
 4        203               10            1          46         Some Desc
 5        203               12            1          23         Some Desc
 6        203               12            1          12         Some Desc
 7        205               14            1         6758        Some Desc

IDIdentityコラムでございPrimary Keyます。

別の表はCityTypes次のとおりです。

CityCode            CityName             CityType
--------------------------------------------------
  202                City 1                 1
  203                City 2                 2
  204                City 3                 1
  205                City 4                 1

3 番目の表は次のとおりですTotalCount。この表は、特定の都市の特定の商品に対して挿入する必要がある合計カウント レコードを示しています。

 Switch1      Switch2       Name           CityType       TotalCount
 -------------------------------------------------------------------
 10            1           Good 1              1             10
 10            1           Good 1              2             5
 10            1           Good 1              3             3
 11            1           Good 2              1             12
 11            1           Good 2              2             8
 11            1           Good 2              3             5
 12            1           Good 3              1             10
 12            1           Good 3              2             5
 12            1           Good 3              3             3
 13            1           Good 4              1             10
 13            1           Good 4              2             5
 13            1           Good 4              3             3
 14            1           Good 5              1             10
 14            1           Good 5              2             5
 14            1           Good 5              3             3

Switch1+ Switch2+CityTypeは主キー

この結果を返すクエリを書きたい:

CityName      GoodName      InsertedCount     TotalCount    InsertedCount-TotalCount
------------------------------------------------------------------------------------
  City 1      Good 1              2              10                   -8

このテーブルをこのクエリに関連付ける方法がわかりません。私はこのクエリを書きました:

SELECT CityCode,Switch2,Switch1,COUNT(ID)
FROM   tblMain
GROUP BY  CityCode,Switch2,Switch1
ORDER BY CityCode,Switch2,Switch1

しかし、これを他のテーブルに関連付ける方法がわかりません

4

2 に答える 2

1

これを試して

SELECT 
    ct.Cityname,total.name,COUNT(total.*) as insertedcount,sum(total.totalcount) as totalcount, 
    COUNT(total.*)-sum(total.totalcount) as diff
FROM   
    tblMain as main inner join citytypes as ct on main.citycode=ct.citycode
    inner join totalcount as total on ct.citytype=total.citytype
    and main.switch1=total.switch1 and main.switch2=total.switch2 
GROUP BY  ct.Cityname,total.name
ORDER BY ct.Cityname,total.name
于 2012-07-13T09:15:19.607 に答える
0

これをチェックしてください

ct.cityname, tc.GoodName,COUNT( ) を InsertedCount として選択し、sum(tc.totalcount) を TotalCount として選択し、COUNT( )-sum(tc.totalcount) を 'InsertedCount-TotalCount' として選択します。 citycode = tm.citycode left join totalcount tc on tc.citytype = ct.citytype and tm.switch1=tc.switch1 and tm.switch2=tc.switch2 group by ct.cityname, tc.GoodName

于 2012-07-13T09:33:41.313 に答える