我想获得一个更简单的查询,该查询遍历表的所有列,并为每个列返回相同数量的表。
例如...
UIImageWriteToSavedPhotosAlbum
给出了我想要的结果,但是我必须输入每列。我该如何编写一个查询,遍历所有列并获得相同的结果,而不必执行此操作?
答案 0 :(得分:0)
为此,您需要生成并执行动态SQL。
查询sys表/视图以获取tbl
中的所有列,并构建一个SQL字符串,该SQL字符串为返回的每个列发出SELECT命令。
然后执行SQL字符串。
答案 1 :(得分:0)
您可以尝试一下。
SELECT
STUFF((
SELECT ' GO ' + CONCAT('SELECT DISTINCT ',col.name,' FROM tbl') from sys.columns col
left join sys.tables tab on tab.object_id=col.object_id
where tab.name='tbl'
FOR XML PATH (''))
,2,2,'') AS Names
FROM tbl t1
它将动态生成查询。