SQL语句问题:SELECT A.WPId AS WPId, B.Name AS WPName,
       (SELECT dbo.MAS_PriceAdjust.Price
        FROM dbo.MAS_PriceAdjust
        WHERE (dbo.MAS_PriceAdjust.ValidTDate = '99999999' AND 
               dbo.MAS_PriceAdjust.WPId = A.WPId)) AS WPPrice, 
       SUM(A.InStoreQty) AS WPQty, B.Unit AS WPUnit,
       (WPPrice*WPQty) AS Amount
FROM dbo.MAS_InStore A INNER JOIN
         dbo.MAS_WPInfo B ON A.WPId = B.WPId
GROUP BY  A.WPId, B.Name, B.Unit提示错误的列名WPPrice和WPQty,我想求金额不能用别名计算吗?

解决方案 »

  1.   

    SELECT *, WPPrice*WPQty AS Amount
    FROM (SELECT A.WPId AS WPId, B.Name AS WPName,
           (SELECT dbo.MAS_PriceAdjust.Price
            FROM dbo.MAS_PriceAdjust
            WHERE (dbo.MAS_PriceAdjust.ValidTDate = '99999999' AND 
                   dbo.MAS_PriceAdjust.WPId = A.WPId)) AS WPPrice, 
           SUM(A.InStoreQty) AS WPQty, B.Unit AS WPUnit,
           (WPPrice*WPQty) AS Amount
          FROM dbo.MAS_InStore A INNER JOIN
             dbo.MAS_WPInfo B ON A.WPId = B.WPId
          GROUP BY  A.WPId, B.Name, B.Unit) AA