Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
“我该怎么做?”;“崩溃”;Access 2010中TSQL的以下列数据?_Sql_Sql Server_Tsql_Ms Access_Distinct - Fatal编程技术网

“我该怎么做?”;“崩溃”;Access 2010中TSQL的以下列数据?

“我该怎么做?”;“崩溃”;Access 2010中TSQL的以下列数据?,sql,sql-server,tsql,ms-access,distinct,Sql,Sql Server,Tsql,Ms Access,Distinct,在进行研究时,我没有发现类似的问题(在Access 2010和TSQL的背景下) 挑战:目前,我的数据看起来像下面的状态1。在状态#1中,有重复的行,唯一的区别是它们对三个特定字段(OfferMembership、Hasseing、QuietArea)具有不同的字段/列值 Desire:我想按PlaceID和年份“折叠”行,只需为每行的每个字段中存在的Y的数量生成一个不同的计数。我已经生成了样本数据来表示我想要的结果 我的数据目前如下所示: State #1 Row | Year | Plac

在进行研究时,我没有发现类似的问题(在Access 2010和TSQL的背景下)

挑战:目前,我的数据看起来像下面的状态1。在状态#1中,有重复的行,唯一的区别是它们对三个特定字段(OfferMembership、Hasseing、QuietArea)具有不同的字段/列值

Desire:我想按PlaceID和年份“折叠”行,只需为每行的每个字段中存在的Y的数量生成一个不同的计数。我已经生成了样本数据来表示我想要的结果

我的数据目前如下所示:

State #1

Row | Year | PlaceID | OffersMembership | HasSeating | QuietArea

001   2011    Park           Y                 Y           Y                
002   2011    Park           Y                 N           N  
003   2011   Library         Y                 Y           Y 
004   2011   Library         N                 Y           N 
005   2011   Museum          Y                 N            
006   2011   Museum          Y                 Y           Y 
006   2011  MovieTheater     Y                             N
007   2012    Park           Y                 Y           Y                
008   2012    Park                                         N 
我希望我的数据看起来像什么:

State #2               

Row |  Year |  PlaceID | OffersMembership "Y"| HasSeating "Y"| QuietArea "Y" 

001    2011      Park             1                   1              1
002    2011     Library           1                   1              1
003    2011     Museum            1                   1              1
004    2011    Movietheater       1                  
004    2012      Park             1                   1              1
注:

1) 我在Access 2010中使用TSQL,因为我正在运行命中SQL Server表的传递查询


2) 是的,状态为#1的数据中存在“空白”单元格

您可以使用简单的分组方式来折叠数据。我排除了行列,因为我假设它只是一个行号占位符

SELECT [Year]
      ,PlaceID
      ,COUNT(CASE OffersMembership WHEN 'Y' THEN 1 ELSE 0 END) AS OffersMembership
      ,COUNT(CASE HasSeating WHEN 'Y' THEN 1 ELSE 0 END) AS HasSeating
      ,COUNT(CASE QuietArea WHEN 'Y' THEN 1 ELSE 0 END) AS QuietArea
  FROM MyTable t
 GROUP BY t.[Year]
         ,PlaceID
注意:上面的示例查询尚未执行