拥有此表(第一行是列名):

security    quote_type      price
sec_1       bid             3.4
sec_1       ask             3.6
sec_2       bid             5.2
sec_2       ask             5.4
sec_3       bid             2.3
sec_4       ask             7.8

需要查询以实现以下结果:
security    bid     ask
sec_1       3.4     3.6
sec_2       5.2     5.4
sec_3       2.3     null
sec_4       null    7.8

使用SQL Server。

谢谢你的帮助!

最佳答案

您也可以只使用条件聚合或pivot:

select security,
       max(case when quote_type = 'bid' then price end) as bid,
       max(case when quote_type = 'ask' then price end) as ask
from t
group by security;

关于sql - SQL连接同一表的列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47609616/

10-10 11:31