我知道,有类似的问题,但我无法理解。我希望,你会帮助我理解=) 我有3张桌子:
(int ID, nvarchar Name)
(int ID, nvarchar Name, int ContCount)
(int ID, int CityID, int ContactID, int Year)
我需要制作一个这样的表:
City | 2010 | 2011 | 2012 | 2013 |
LA | 201 | 231 | 198 | 211 |
2010-2013 - Address.Year
和{201,231,198,211}的值来自City.ContCount
是用SQL做某种方式吗?如果是,你能告诉我它=)我会非常感激)
我是SQL的新手,所以即使是简单的问题对我来说也很难。)
答案 0 :(得分:1)
你正试图在Sql中创建一个二维数组,这很棘手。我知道它并不是你所要求的,但最简单的解决办法就是像这样一个小组这样做
SELECT Year, City, Count(*)
FROM Address a
JOIN City c ON a.CityID = c.CityID
GROUP BY Year, City
会给你
City, Year, Count
LA, 2010, 201
LA, 2011, 231
...
这将允许您转动此数据(例如,在excel中)以获得所需内容。
在T-SQL中还有一个透视选项解释here