首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >具有多重选择的交叉表

具有多重选择的交叉表
EN

Stack Overflow用户
提问于 2015-08-28 08:37:47
回答 1查看 56关注 0票数 1

我有一个两列的表,里面充满了字符串。

代码语言:javascript
复制
CREATE TABLE [tbl_text]
 (
  [directoryName] nvarchar(200),
  [text1] nvarchar(200),
  [text2] nvarchar(200)
  )

字符串的构建如下所示

代码语言:javascript
复制
| Text1      |   Text2  |
|------------|----------|
|tz1 tz3 tz2 | al1 al2  |
|    tz1 tz3 | al1 al3  |
|        tz2 | al3      |
|    tz3 tz2 | al1 al2  |

现在,我想要计算TestN或TextN产生的

代码语言:javascript
复制
| Text1 |  al1 |  al2 |  al3 |
|-------|------|------|------|
| tz1   |   2  |   1  |  1   |
| tz2   |   2  |   2  |  1   |
| tz3   |   3  |   2  |  1   |

我试着用这样的sql查询来解决它:

代码语言:javascript
复制
TRANSFORM Count(tt.directoryName) AS Value
SELECT tt.Text1
FROM tbl_text as tt
GROUP BY tt.Text1
PIVOT tt.Text2;

如果我的字段只有一个值,比如第三列(完整的数据源必须类似于一个值样式),那么这很好,但是在我的例子中,我使用字符串进行多选择.

如果我试图将这个查询整合到一个在值之间填充了“”的数据源上,结果就会完全混乱。

有什么建议,查询应该是什么样子才能得到这个结果?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-08-29 06:33:44

您必须在Text1 1/Text1 2中拆分字符串,然后才能对它们执行任何操作。在VBA中,您可以循环一个记录集,使用Split()函数,并将结果插入到临时表中。

在Server中,有更强大的选项可用。

来自这里:Split function equivalent in T-SQL?

您应该阅读此页:http://www.sommarskog.se/arrays-in-sql-2005.html#tablelists

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32266767

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档