我有一张表,其中包含大约30列表示特定属性的布尔标志。我想回报他们,通过频率排序,作为一个记录他们的列名一起,就像这样:如何最好的通过SQL求和多个布尔值?
Attribute Count
attrib9 43
attrib13 27
attrib19 21
etc.
我迄今为止的努力可以实现类似的东西,但我只能使用获得的属性列有条件的资金,这样的:
SELECT SUM(IIF(a.attribIndex=-1,1,0)), SUM(IIF(a.attribWorkflow =-1,1,0))...
此外,查询已经获得了所有30 SUM /综合投资框架有点笨拙,无需人工干预将无法处理属性个数的任何改变。
属性列的前六个字符在表中是相同的(attrib)和唯一的,是否可以在列名中使用通配符来获取所有适用的列?
此外,我可以透视结果给我一个排序的两列记录集?
我正在使用Access 2003,查询最终将通过Excel中的ADODB。
虽然这个表格中不止有这些属性。如果我能够重新排列数据库,那么我会,但我坚持这个模式。 此外我想列出所有属性,而不仅仅是一个。你将如何处理? – Lunatik 2009-05-06 15:21:20
您可能可能使用以下分析函数: 选择attribute_table。* ,count(*)over(按属性名分区)cnt from attribute_table 这会给你一个属性名,并返回所有属性以及每一行(总数当然) – northpole 2009-05-06 16:02:28
你测试过了吗?在Access中的功能?据我所知,它们不受Jet SQL支持。 – 2009-05-06 21:19:49