gpt4 book ai didi

来自存储在表中的值的 SQL 动态 SELECT 语句

转载 作者:行者123 更新时间:2023-12-01 04:12:41 25 4
gpt4 key购买 nike

我已经研究了几天,感觉自己在兜兜转转。我有 SQL 的基本知识,但有很多我不了解的领域。

我有一个表,用于存储数据库中所有其他表的名称和字段。

tblFields
===================================================

TableName FieldName BookmarkName
---------------------------------------------------
Customer FirstName CustomerFirstName
Customer LastName CustomerLastName
Customer DOB CustomerDOB

我想写一个 SELECT像下面这样的语句,但我无法让它工作:
SELECT (SELECT [FieldName] FROM [TableName]) FROM tblFields

这可能吗?我开发的应用程序需要用户自定义报告。

最佳答案

如果我理解你想要做什么,我认为这会对你有所帮助。它并不漂亮,适用于 SQL Server 2005 及更高版本,但也许这就是您要寻找的:

declare @tableName nvarchar(100)
declare @sqlQuery nvarchar(max)
declare @fields varchar(500)
set @tableName = 'YourTableName'
set @fields = ''
select @fields = @fields + QUOTENAME(t.fieldname) + ',' from (
select distinct fieldname from tblfields where tablename = @tableName)t


set @sqlQuery = 'select ' + left(@fields, LEN(@fields)-1) + ' from ' + QUOTENAME(@tableName)

execute sp_executesql @sqlQuery

编辑:正如马丁建议的那样,我进行了编辑,以便列和表名使用 QUOTENAME

关于来自存储在表中的值的 SQL 动态 SELECT 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5210180/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com