【发布时间】:2017-03-03 14:42:35
【问题描述】:
我有一个如下所示的表格:
该表列出了这些国家/地区内的国家和地区(州、省、县等)。我需要对所有国家/地区的所有地区进行计数。如您所见,每个地区都有一个ParentID,即您可以在其中找到该地区的国家/地区的ID。
例如,加利福尼亚在美国,因此其父 ID 为 1(即美国的 ID)。
所以,上面简单表格的结果应该是:
美国:2 和 加拿大:1
我尝试了以下方法:
- 将所有值选择到具有
IDa 1 的表中(对于美国) - 将所有值选择到具有
IDa 3 的表中(对于加拿大) - 将
Parent ID为 1 的所有值选择到 USA 表中 - 选择加拿大表中的所有值,
Parent ID为 3 - 在两张表上都算数
上述方法的问题是,如果添加一个新的国家,将不会自动生成一个计数。 有什么想法让这个更有活力吗?
【问题讨论】:
-
表格中有多少层嵌套?
-
仅 2:国家和地区
标签: sql sql-server sql-server-2008