【问题标题】:Insert Data from multiple tables into a single table将多个表中的数据插入到单个表中
【发布时间】:2015-01-11 12:09:54
【问题描述】:
INSERT INTO MonthlyFee(StudentID, ClassTypeID, Fee, MonthID,
          [Year], IsDefaulter, FeeStatus, CreatedDate) 
SELECT StudentID, ClassTypeID FROM ClassRollNo

我想设置以下值(主要是硬编码参数):MonthID 1、Year 2015、IsDefaulter FALSE、FeeStatus 0 和 CreatedDate GETDATE()。

【问题讨论】:

  • 您的标题显示“来自多个表格” - 但您从一个表格中选择?

标签: sql sql-server join subquery


【解决方案1】:

只需按照插入column list的顺序在同一select语句中硬编码这些值。试试这个语法

INSERT INTO MonthlyFee
            (StudentID,
             ClassTypeID,
             Fee,
             MonthID,
             [Year],
             IsDefaulter,
             FeeStatus,
             CreatedDate)
SELECT StudentID,
       ClassTypeID,
       100, -- You missed
       1,
       2015,
       'false',
       0,
       Getdate()
FROM   ClassRollNo 

注意:您错过了我硬编码的费用列

【讨论】:

    【解决方案2】:

    使用相同的查询和您描述的值:

    INSERT INTO MonthlyFee(StudentID, ClassTypeID,Fee,MonthID,
          [Year],IsDefaulter,FeeStatus,CreatedDate) 
    SELECT StudentID, ClassTypeID, 0, 1, 2015, 0, 0, GETDATE() FROM ClassRollNo
    

    【讨论】:

      【解决方案3】:

      试试这个:

      INSERT INTO MonthlyFee(StudentID, ClassTypeID,MonthID,
                [Year],IsDefaulter,FeeStatus,CreatedDate) 
       SELECT StudentID, ClassTypeID,1,2013,false,0,getdate() FROM ClassRollNo
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-08-23
        • 2013-11-08
        相关资源
        最近更新 更多