我有一张Currency CHAR(3)
表:StressValue (FLOAT)
对。
它有6行。
第6行的'Currency'
值为'GRP'
,表示在Currency
:StressValue
对的第二个表格中指定的一组货币。
我想在'Currency'上加入两个表,但我不想在第二个表中返回那些在第一个表中的任何一行中包含相同'Currency'值的行。
例如,如果第2行包含组合'GBP
':'0.05'而第2行(即。'GRP'
)表格中包含'GBP'行:'0.10'
那么我想要结果集只显示一行'GBP'
- 一行为'0.05'
。
请问,有人可以建议在SQL Server 2008 R2中执行此操作的最佳方法吗?
编辑:
以下是Dimension1 = GroupName的简单LEFT JOIN中的两个表 问题是我的'ES'有两个值:-0.04和-0.045,我只想保留-0.04一个。
编辑2:
左表,右表和期望结果集:
请注意,GroupName ='PE'和'MemberName ='ES'的行已从所需的结果集中排除,因为'ES'已经出现在Left表中。
答案 0 :(得分:0)
假设我理解你:
select * from
Currency as c
left join StressValue as s on c.Diemention1 = s.GroupName AND s.MemberName <> (
SELECT s.MemberName
from Currency as c
join StressValue as s
on c.Diemention1 = s.MemberName)
请参阅FIDDLE