我对SQL向导还有另一个疑问。
我正在使用SSMS 2014,并且有一个查询,该查询返回基于包含Y或N的列字段而汇总到某列行中的表的列标题。如果该列具有Y,则应显示在列表,如果包含N,则应将其排除在列表之外。
要汇总的内容并不重要,但是可能需要注意的是,此单元格中的结果是另一个表中多个列标题的串联。
当前结果看起来像这样
(从SSMS输出)
我希望结果看起来与此类似
(来自excel的屏幕截图。图像仅显示了我想要的结果格式)
有什么办法吗?可以通过这种方式在Visual Studio 2017中制作的前端网站上显示结果吗?我最初的网络搜索一直使我指向我不熟悉的SQL * Plus,而SQLPlus似乎无法在SSMS中使用。
编辑:我不确定如何使它更清楚。我在SQL Server Management Studio中使用SQL。我有一个查询,该查询生成一个“逗号”(,)列表,并将结果放入列的单行中。问题是列表的范围超出了列的宽度,并且数据被省略号代替。我希望列表重新堆叠,以使列表中的所有元素都显示在列的宽度中。
此查询的结果最终将显示在Visual Studio 2017中制作的Web应用程序上,因此如果在前端有地方可以处理/格式化数据,则当它显示在gridview中时,逗号列表为叠起来。 (类似于在前端网格视图上显示时如何格式化具有逗号的大数字,我希望此逗号列表中的结果不加长堆叠)
查询代码的发布量很大,与我的问题无关。
最后的例证:
我想要这个
element1
element2
element3
不是这个
element1,element2,element3,
更新: 当前使用以下HTML代码在前端网格视图上以足够的列宽显示此SQL查询,以查看最长的数据条目。它还利用SQL查询在所选的每个数据段的末尾加上〜并将其替换为回车符。最好使用%来设置列宽,以使其在不同的屏幕尺寸下缩放(此代码使用像素规范)。
<GridView>
<Columns>
<asp:TemplateField HeaderText="Formatted Column Header">
<ItemTemplate>
<div style="width: 400px;">
<%# Eval("SQL Column").ToString().Replace("~","<br />") %>
</div>
</ItemTemplate>
</asp:TemplateField>
</Columns>
此方法附带三个问题。首先,此gridview是未绑定的,因此可以使用相同的gridview动态显示表/查询。如果尝试显示不包含与指定的“ SQL列”文本匹配的SQL列的表,由于gridview是未绑定的,则将引发错误,因此需要一些条件HTML(javascript)。其次,SQL查询中的原始列在网格视图中显示为〜。第三,模板列数据的上方和下方都有很多额外的空间。
答案 0 :(得分:0)
除了creating your own SSMS add-in以外,我不知道有什么方法可以做到这一点。就我个人而言,我将数据输出为SSRS报告-您可以设置一个免费的SSRS服务器-您可以在其中对输出格式进行精细控制。
答案 1 :(得分:0)
将鼠标悬停在表格标题右侧的行上,光标将如下所示:
<-|->
然后双击,它应该显示整个条目。但这不会给你:
A,
B,
C
格式,SQL Server不会这样做。但是,您可以创建一个简单的MVC应用程序,并将数据库用作模型。然后,当您创建一个控制器时,您可以使用视图创建它,并使其从选定的表中自动进行CRUD操作。从这里,您可以修改表格大小并使用CSS进行显示。
或者您可以单击查询结果/表左上角的正方形,然后将其复制/粘贴到excel电子表格中,然后在其中修改单元格。希望这会有所帮助!
仅附带说明,在一个单元格中具有多个值是不好的数据库设计。它违背了表设计的第一种正常形式,使查询数据库变得更加困难。