我试图遵循此代码
SQL Server: Examples of PIVOTing String data
我已将表导入sql server,看到了
"选择view_edit FROM tbl WHERE t.action = action"确实
给我一个view_edit,它位于" select * from tbl"但是我很无能为什么作者使用了这行代码。
答案 0 :(得分:0)
这太大了,无法发表评论,所以在答题部分添加
我认为你指的是这个SQL代码。
SELECT Action,
[View] = (Select view_edit FROM tbl WHERE t.action = action and view_edit = 'VIEW'),
[Edit] = (Select view_edit FROM tbl WHERE t.action = action and view_edit = 'EDIT')
FROM tbl t
GROUP BY Action
此处使用相关子查询而不是MAX聚合或pivot
关键字
对于表中的每个操作,相关的子查询中都会获取相应的view_edit值,如果找不到相应的操作,则它将为NULL
要了解更多信息,请移除group by
并运行查询,您将了解相关子查询以及对group by
的需求