针对T1列中特定记录的多个表的SQLQuery
我正在尝试编写select查询以提取数据,如下所示:针对T1列中特定记录的多个表的SQLQuery,sql,sql-server,Sql,Sql Server,我正在尝试编写select查询以提取数据,如下所示: T1 PARTN DESCRIPTION xx1 mouse xx2 Kb T2 PARTN COIN PRC1 PRC2 xx1 usd 2 4 xx1 eur 1 2 xx2 usd 4 8 xx2 eur 3 6 理想查询结果 PARTN PRCUSD1 PRCUSD2 PRCEUR1 PRCEUR2 xx1
T1
PARTN DESCRIPTION
xx1 mouse
xx2 Kb
T2
PARTN COIN PRC1 PRC2
xx1 usd 2 4
xx1 eur 1 2
xx2 usd 4 8
xx2 eur 3 6
理想查询结果
PARTN PRCUSD1 PRCUSD2 PRCEUR1 PRCEUR2
xx1 2 4 1 2
xx2 4 8 3 6
可能吗?
参见图
如果您事先知道货币,那么只需使用多个联接即可。如果不是这样,那么您可能需要一个动态SQL解决方案
select
p.PARTN,
usd.PRC1 as PRCUSD1, usd.PRC2 as PRCUSD2,
eur.PRC1 as PRCEUR1, eur.PRC2 as PRCEUR2
from
T1 p
inner join T2 usd on usd.PARTN = p.PARTN and usd.COIN = 'usd'
inner join T2 eur on eur.PARTN = p.PARTN and eur.COIN = 'eur'
您的图像与数据不匹配。请阅读,这里是学习如何提高问题质量和获得更好答案的好地方。您使用的是哪种DBMS提示:查找
PIVOT
您好,谢谢。你是对的,这是错的。假设它与图像中的最后一张表相似。DB在SQL server中,我使用的是SQL management studio。我们的想法是找到一个正确返回的查询,然后在vba项目中使用它。如果您选择了表T2中的“usd.PRC1”列,则很抱歉无法获取该查询。我不太明白你的问题。