gpt4 book ai didi

mysql - SQL多次显示同一列

转载 作者:行者123 更新时间:2023-11-29 03:41:05 26 4
gpt4 key购买 nike

表1有,NameId,年龄,性别...
表2有Version No, TimeStamp ...

现在我想从表1中选择NameId,从表2中多次选择版本号和时间戳,我需要查询表2中的所有版本和时间记录,谁能给我一些关于如何查询的想法?

NameId  |   Version/Time        |   Version/Time    |   Version/Time …

Angela | 1 / 01.01.2010 | 2 / 01.02.2010 | 3 / 01.03.2010
Betty | 1 / 01.01.2010 | 2 / 01.02.2010 | 3 / 01.03.2010
Cathy | 1 / 01.01.2010 | 2 / 01.02.2010 | 3 / 01.03.2010
... | .... | |

最佳答案

如果像您所说的那样,任何固定值集都不起作用,那么您将需要动态 sql 来执行数据透视。

沿着这些线的东西:

CREATE PROCEDURE [dbo].[usp_pivot_]
AS

DECLARE @columns VARCHAR(1000)

SELECT @columns = COALESCE(@columns + ',[' + cast(versionTime as varchar) + ']',
'[' + cast(versionTime as varchar)+ ']')
FROM table1 inner join table2 on table1.NameId = table2.NameId
GROUP BY versionTime

DECLARE @query VARCHAR(8000)

SET @query = '
SELECT *
FROM table1 inner join table2 on table1.NameId = table2.NameId
PIVOT
(
first(versionTime)
FOR [versionTime]
IN (' + @columns + ')
)
AS p'

EXECUTE(@query)

关于mysql - SQL多次显示同一列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13770058/

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