2014-09-24 95 views
1

我收到错误子查询返回多个值 这里是我的查询子查询返回多个值

SELECT d.Description ,s.Version , d.UtiPrefix , d.UTI , d.PrimaryAC , s.ReportingObb , s.ReportingObb , d.LEI , d.LEI_Countp , d.LEI , s.ReportingDeleg ,d.Curr , c.Trade_Party_Domicile ,c.LEI_SGR 
     , Price =(select Price 
        From Price 
        inner join Derivatives 
        on Derivatives.UTI = Price.UTI) 
FROM Derivatives as d 
INNER JOIN Settings as s 
ON d.LEI_SGR = s.LEI_SGR 
INNER JOIN Clients c 
ON d.LEI_SGR = c.LEI_SGR 

回答

2

使用相关子查询

Price =(select Price From Price p WHERE d.UTI = p.UTI) 
+0

我认为你有后向 – Paparazzi 2014-09-24 14:03:52

+0

@Blam没关系 – Mihai 2014-09-24 14:04:26

+1

谢谢你对我有用。 – Dev 2014-09-24 14:05:30

1

我怀疑这返回多一行

(select Price 
    From Price 
    inner join Derivatives 
    on Derivatives.UTI = Price.UTI) 

你为什么要混合子查询和连接?

SELECT d.Description ,s.Version , d.UtiPrefix , d.UTI , d.PrimaryAC , s.ReportingObb 
    , s.ReportingObb , d.LEI , d.LEI_Countp , d.LEI , s.ReportingDeleg ,d.Curr 
    , c.Trade_Party_Domicile ,c.LEI_SGR 
    , p.Price 
FROM Derivatives as d 
INNER JOIN Settings as s 
    ON d.LEI_SGR = s.LEI_SGR 
INNER JOIN Clients c 
    ON d.LEI_SGR = c.LEI_SGR 
INNER JOIN Price p 
    ON p.UTI = d.UTI