首页 > 解决方案 > SELECT 中的子查询返回多个值

问题描述

我有一个子查询,如果它返回多个值,它们会显示在同一列中,但所有其他信息的不同行将是相同的,只是结果子查询的结果会有所不同。

就像现在一样,我遇到了一个错误

子查询返回超过 1 个值但没有运算符

关于我的代码的重要部分是:

SELECT 
    TABLE1.ID_Cota,
    (SELECT Observacao 
     FROM TABLE2
     INNER JOIN TABLE2A ON TABLE2.ID_TABLE2 = TABLE2A.ID_TABLE2
                        AND TABLE2.ID_COTA  = COTAVINCULADA.ID_COTA_MAE
                        AND TABLE2.ID_OCORRENCIA_CONTEMPLACAO = 335) AS 'OBSERVACAO_COTA_MAE_335',
    FASE335A.OBSERVACAO AS 'OBSERVACAO_COTA_VINCULADA_335'
FROM 
    TABLE1
LEFT JOIN
    ...

如果需要所有代码,请告诉我。

标签: sql-server

解决方案


将子查询移入 FROM 并将其与其他表连接

SELECT TABLE1.ID_Cota, sub_query.Observacao as  'OBSERVACAO_COTA_MAE_335'
FROM

(SELECT Observacao FROM TABLE2
                   INNER JOIN TABLE2A ON TABLE2.ID_TABLE2 = TABLE2A.ID_TABLE2
                                      AND TABLE2.ID_COTA  = COTAVINCULADA.ID_COTA_MAE
                                      AND TABLE2.ID_OCORRENCIA_CONTEMPLACAO = 335) 
AS sub_query CROSS_JOIN
 TABLE1
 LEFT JOIN..

推荐阅读