【问题标题】:Sub query not connected with main query [duplicate]子查询未与主查询连接[重复]
【发布时间】:2013-11-04 01:57:05
【问题描述】:

以下查询用于从数据库中检索记录以显示在报告中。但是 SENOKO 和 EUNOS 列在每一行中都显示重复的总数。这似乎是子查询没有连接到主查询导致没有进行过滤。

SELECT whbal.customer, customer.imp_license_no, customer.psq_level, 
   (SELECT SUM(CONVERT(DECIMAL(8,3),(CONVERT(DECIMAL(8, 3), whbal.qty_good) + CONVERT(DECIMAL(8, 3), whbal.qty_slack)) * CONVERT(DECIMAL(8, 3), whbal.std_weight) / 1000)) 
    FROM whbal WHERE warehouse='SKW') AS SENOKO
   (SELECT SUM(CONVERT(DECIMAL(8,3),(CONVERT(DECIMAL(8, 3), whbal.qty_good) + CONVERT(DECIMAL(8, 3), whbal.qty_slack)) * CONVERT(DECIMAL(8, 3), whbal.std_weight) / 1000)) 
    FROM whbal WHERE warehouse='EKW') AS EUNOS
FROM customer 
INNER JOIN whbal ON whbal.customer=customer.customer AND whbal.date_create<=@date1                   
INNER JOIN stktype ON whbal.stock_type=stktype.stock_type
WHERE whbal.customer BETWEEN @cust1 AND @cust2 AND whbal.stock_type=@type
GROUP BY whbal.customer, customer.customer, customer.imp_license_no, customer.psq_level

结果:

有谁知道是什么问题和解决方法,请指教和指导。 提前致谢

【问题讨论】:

    标签: c# sql winforms


    【解决方案1】:

    这可能就是你想要的:

    SELECT whbal.customer, customer.imp_license_no, customer.psq_level, 
        SUM(CASE WHEN warehouse='SKW' 
            THEN CONVERT(DECIMAL(8, 3), whbal.qty_good) 
               + CONVERT(DECIMAL(8, 3), whbal.qty_slack) 
             * CONVERT(DECIMAL(8, 3), whbal.std_weight)
            ELSE 0.0 END
           / 1000.0) AS SENOKO,
        SUM(CASE WHEN warehouse='EKW' 
            THEN CONVERT(DECIMAL(8, 3), whbal.qty_good) 
               + CONVERT(DECIMAL(8, 3), whbal.qty_slack) 
             * CONVERT(DECIMAL(8, 3), whbal.std_weight)
            ELSE 0.0 END
           / 1000.0) AS EUNOS
    FROM customer 
    INNER JOIN whbal ON whbal.customer=customer.customer AND whbal.date_create<=@date1                   
    INNER JOIN stktype ON whbal.stock_type=stktype.stock_type
    WHERE whbal.customer BETWEEN @cust1 AND @cust2 AND whbal.stock_type=@type
    GROUP BY whbal.customer, customer.customer, customer.imp_license_no, customer.psq_level
    

    【讨论】:

      猜你喜欢
      • 2013-11-14
      • 2010-09-13
      • 2018-02-08
      • 1970-01-01
      • 1970-01-01
      • 2020-05-10
      • 1970-01-01
      相关资源
      最近更新 更多