【问题标题】:Insert query with value from Select使用来自 Select 的值插入查询
【发布时间】:2018-06-12 09:53:51
【问题描述】:

我正在尝试使用 Select 查询 2 个不同的表,结果是一个字符串列表。

select Lock 
from [dbo].[LabelLock]
where [Value] = @Label 
UNION
select Lock
from [dbo].[ProdLock]
where [Value] = @Process

到目前为止一切都很好。我想要的是某种方式以这种方式将上述 Select 的每个结果的记录插入到我的 [Locks] 表中:

insert into [dbo].[Locks]
(Id, Locks)
values (@Id, .....)

所以@Id 始终是固定的,但锁应该来自 Select,我希望为 Select 查询提供的每个结果插入一条记录。我怎样才能以聪明的方式实现这一目标?提前致谢!

【问题讨论】:

  • 您的代码看起来不像 MySQL 代码。您确定您使用的是 MySQL 而不是 SQL Server?

标签: mysql sql select sql-insert


【解决方案1】:
INSERT INTO
    [dbo].[Locks]
(
    Id,
    Locks
)
SELECT
    @Id,
    Lock 
FROM
    [dbo].[LabelLock]
WHERE
    [Value] = @Label 
UNION
SELECT
    @Id,
    Lock
FROM
    [dbo].[ProdLock]
WHERE
    [Value] = @Process

【讨论】:

  • 表格中没有可供选择的 ID。 Id 并非来自那里
  • 您在 Id 前面加上 @ 表示参数/变量。那你想做什么? Locks 表中的 Id 列是自动递增的值吗?
  • 好吧,插入的值不用Values关键字来表示?
  • 不,插入不需要 value 关键字。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-02-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-02-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多