没看明白你写的sql没有这种语句啊

解决方案 »

  1.   

    不是 完整的就是 insert into table_b(...)values(SELECT x FROM table_a where y='1')
      

  2.   

    insert into table_b(...) SELECT x FROM table_a where y='1'
    去掉values
      

  3.   

      insert into table_b(AA,BB) SELECT AA,BB FROM table_a where y='1'
      

  4.   

    insert语句不允许出现子查询语句用存储过程可以实现create proc ins
    as
    declare @result varchar(20)
    select @result=列名 FROM table_a where y='1'
    insert into table_b(...)values(@result)
    goexec ins 
      

  5.   

     insert into b select * from a两个表的结构一样
      

  6.   

    我现在就要把几张表里SELECT的内容放到一张新表里嘛,但是现在就是放不进去,下面是我的代码,
    麻烦各位高手帮帮看下是哪里出了问题,万分感谢!!!!protected void save_Click(object sender, System.EventArgs e)
        {        try{
                DateTime BeginTime = Convert.ToDateTime(txtBeginTime.Text.ToString());
                DateTime EndTime = Convert.ToDateTime(txtEndTime.Text.ToString());
                
                string myConnectString = "Data Source=308f4981667b487;Initial Catalog=de;Persist Security Info=True;User ID=sa;Password=sa123";
                SqlConnection myConn = new SqlConnection(myConnectString);
                myConn.Open();
                SqlCommand cmd = myConn.CreateCommand();
                cmd.CommandText = "INSERT INTO Emp(StationName, EmpName, EmpAge, Teclv,TeethNum,reTime) select  T_M_Station.StationName,T_HR_EmpBasic.EmpName,datediff(year,birthday,getdate()) as EmpAge,T_HR_EmpBasic.TecLv,sum(T_M_TrackProduct.TeethNum) as TeethNum,reTime" +
                            " from T_M_Track inner join T_M_Station on T_M_Track.State='1'  and T_M_Track.BeginTime>='" + BeginTime + "' and T_M_Track.EndTime<='" + EndTime + "' and T_M_Track.StationID=T_M_Station.StationID " +
                            "  left join T_M_TrackProduct on T_M_Track.ID=T_M_TrackProduct.TrackID" +
                            " inner join T_HR_EmpBasic on T_M_TrackProduct.ProduceEmpBasicID=T_HR_EmpBasic.ID and T_HR_EmpBasic.EmpID='" + txtEmpID.Text.Trim() + "'" +
                            "left join T_M_TrackProductTech on T_M_TrackProduct.ID=T_M_TrackProductTech.TrackProductID" +
                        " left join T_M_Tech on T_M_TrackProductTech.TechID=T_M_Tech.TechID" +                    " group by OrderID,T_M_Station.StationName,T_HR_EmpBasic.ID,T_HR_EmpBasic.EmpName,T_HR_EmpBasic.Birthday,T_HR_EmpBasic.TecLv,T_M_TrackProduct.TeethNum,T_M_Track.IsRepair,reTable.reTime";
              
                cmd.ExecuteNonQuery();
            }
            catch (Exception c)
            {
                Console.WriteLine("写入数据库错误:/n{0}", c.Message);
            }   
            }
    }
      

  7.   

    INSERT INTO Emp(StationName, EmpName, EmpAge, Teclv,TeethNum,reTime)
    select* from
    ( select  T_M_Station.StationName,T_HR_EmpBasic.EmpName,datediff(year,birthday,getdate()) as EmpAge,T_HR_EmpBasic.TecLv,sum(T_M_TrackProduct.TeethNum) as TeethNum,reTime" + 
                            " from T_M_Track inner join T_M_Station on T_M_Track.State='1'  and T_M_Track.BeginTime>='" + BeginTime + "' and T_M_Track.EndTime <='" + EndTime + "' and T_M_Track.StationID=T_M_Station.StationID " + 
                            "  left join T_M_TrackProduct on T_M_Track.ID=T_M_TrackProduct.TrackID" + 
                            " inner join T_HR_EmpBasic on T_M_TrackProduct.ProduceEmpBasicID=T_HR_EmpBasic.ID and T_HR_EmpBasic.EmpID='" + txtEmpID.Text.Trim() + "'" + 
                            "left join T_M_TrackProductTech on T_M_TrackProduct.ID=T_M_TrackProductTech.TrackProductID" + 
                        " left join T_M_Tech on T_M_TrackProductTech.TechID=T_M_Tech.TechID" + 
                        " group by OrderID,T_M_Station.StationName,T_HR_EmpBasic.ID,T_HR_EmpBasic.EmpName,T_HR_EmpBasic.Birthday,T_HR_EmpBasic.TecLv,T_M_TrackProduct.TeethNum,T_M_Track.IsRepair,reTable.reTime") aa; 
      你这样试试看
      

  8.   

    string sql=" "INSERT INTO Emp(StationName, EmpName, EmpAge, Teclv,TeethNum,reTime) select  T_M_Station.StationName,T_HR_EmpBasic.EmpName,datediff(year,birthday,getdate()) as EmpAge,T_HR_EmpBasic.TecLv,sum(T_M_TrackProduct.TeethNum) as TeethNum,reTime" + 
                            " from T_M_Track inner join T_M_Station on T_M_Track.State='1'  and T_M_Track.BeginTime>='" + BeginTime + "' and T_M_Track.EndTime <='" + EndTime + "' and T_M_Track.StationID=T_M_Station.StationID " + 
                            "  left join T_M_TrackProduct on T_M_Track.ID=T_M_TrackProduct.TrackID" + 
                            " inner join T_HR_EmpBasic on T_M_TrackProduct.ProduceEmpBasicID=T_HR_EmpBasic.ID and T_HR_EmpBasic.EmpID='" + txtEmpID.Text.Trim() + "'" + 
                            "left join T_M_TrackProductTech on T_M_TrackProduct.ID=T_M_TrackProductTech.TrackProductID" + 
                        " left join T_M_Tech on T_M_TrackProductTech.TechID=T_M_Tech.TechID" + 
                        " group by OrderID,T_M_Station.StationName,T_HR_EmpBasic.ID,T_HR_EmpBasic.EmpName,T_HR_EmpBasic.Birthday,T_HR_EmpBasic.TecLv,T_M_TrackProduct.TeethNum,T_M_Track.IsRepair,reTable.reTime"; 
    ";
    调试看看sql,在分析器里看看是否正确