【问题标题】:SQL query to insert FIRST row on a table在表上插入第一行的 SQL 查询
【发布时间】:2014-09-17 13:25:19
【问题描述】:

我有一个包含 10 列的 SQL 表,其中两列是项目和员工。

  • 我想要做的是我有一个值的下拉列表 此表中的员工字段,

  • 我需要在同一个表中执行 INSERT 语句,插入 表中存在的所有值,只需更改值 插入时的员工字段。

  • 我只想插入一条记录,所以我担心如果我 在 WHERE 项目上执行插入语句等于 用户选择,我将插入数千行。

  • 我只想从项目所在的表中插入一行 字段等于用户在下拉列表中选择的内容,然后插入 单行复制该项目单行的所有数据, 和

  • 只需将员工字段替换为用户在 下拉。

【问题讨论】:

  • 您使用的是什么脚本语言,Php、ASP 等?
  • MySQL 和 SQL Server (MSSQL) 不是同一个软件。你用哪一个?请将标签更改为相关的 DBMS。
  • 您确定不想进行更新吗? INSERT 表示添加新行。 UPDATE 表示更改现有行。
  • 是的。我需要在同一个表中插入一个新行,只为选定的项目字段选择表中已经存在的一行,然后将所有这些值插入到用户选择的员工字段的新值中
  • 我正在使用带有 C# 代码的 ASPX 页面。

标签: c# mysql sql sql-server


【解决方案1】:

您可以INSERT 使用SELECT TOP 1 从现有表中获取一行,其中包含所需的Project 的WHERE 子句,如下所示:

DECLARE @EmployeeIdToAdd int = 12345
DECLARE @ProjectId int = 10

INSERT INTO [ProjectEmployees] (Col1, Col2,..., Project, Employee)
SELECT TOP 1 Col1, Col2,..., Project, @EmployeeIdToAdd
FROM ProjectEmployees
WHERE Project = @ProjectId

您只需要相应地设置参数。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-09-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-14
    • 1970-01-01
    • 2021-01-24
    • 1970-01-01
    相关资源
    最近更新 更多