本帖最后由 u012385271 于 2014-09-10 14:18:20 编辑

解决方案 »

  1.   

    DECLARE @date datetime
    DECLARE @year int
    SET @date = '2014-01-01'
    SET @year = Year(@date)  SELECT a.companyname,
             a.saler,
             b.bargainname,
             Month(b.bargaindate) [month],
             SUM(b.bargainsales) bargainsales
        FROM dbo.business AS a
        JOIN dbo.salescontract AS b
          ON a.id = b.myid
       WHERE Year(b.bargaindate) = @year
    GROUP BY a.companyname,
             a.saler,
             b.bargainname,
             [month]
    DECLARE @date datetime
    DECLARE @month int
    SET @date = '2014-01-01'
    SET @month = Year(@date)  SELECT a.companyname,
             a.saler,
             b.bargainname,
             Year(b.bargaindate) [year],
             SUM(b.bargainsales) bargainsales
        FROM dbo.business AS a
        JOIN dbo.salescontract AS b
          ON a.id = b.myid
       WHERE Month(b.bargaindate) = @month
    GROUP BY a.companyname,
             a.saler,
             b.bargainname,
             [year]
      

  2.   


    列名  'month' 无效                         列名  'year' 无效   怎么破?
      

  3.   

    换成 Month(b.bargaindate) 和 Year(b.bargaindate)
      

  4.   

    SET @month = [code=#FF0000]Month[/code](@date)
      

  5.   

    SET @month = Month(@date)