gpt4 book ai didi

sql - 根据 SQL Server 中另一个表的行值获取特定的列和行数据

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

有谁知道是否可以根据另一个表中的行值从表中的列中获取数据?

例如

表 1:

Name| Date 
----|-----
Bob | D1
Jon | D2
Stu | D3
Amy | D4

表 2:

Date |Bob |Jon |Stu |Amy
-----|----|----|----|----
D1 | A | B | C | D
D2 | B | C | D | A
D3 | C | D | A | B
D4 | D | A | B | C

我需要匹配日期,但要为每个名字带上正确的字母

所以表 3 将是:

Name| Date | Letter
----|------|-------
Bob | D1 | A
Jon | D2 | C
Stu | D3 | A
Amy | D4 | C

欢迎提出任何建议。

谢谢

最佳答案

如果您正在寻找没有列硬编码的方法,您可以试试这个。让您的表具有名称@table1、@table2。然后:

select 
[Name] = [t1].[Name]
,[Date] = [t1].[Date]
,[Letter] = [col2].[value]('.', 'varchar(10)')
from
@table1 as [t1]
cross apply
(
select [t2_xml] = cast((select * from @table2 for xml path('t2')) as xml)
) as [t2]
cross apply
[t2].[t2_xml].[nodes]('t2[Date/text()=sql:column("[t1].[Date]")]') as [tab]([col])
cross apply
[col].[nodes]('*[local-name(.)=sql:column("[t1].[Name]")]') as [tab2]([col2]);

关于sql - 根据 SQL Server 中另一个表的行值获取特定的列和行数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41959883/

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