【问题标题】:How to insert into table from another table using conditional select如何使用条件选择从另一个表插入表
【发布时间】:2017-05-01 23:54:17
【问题描述】:

我有 UCP 表和 SalesPerProduct 其中包含数据 我想插入到SalesPerProduct From UCP 条件选择 当我选择它工作正常时,我使用了这个查询

select t.ID, sum(Qty) as sum_BioxellTerritories , 
sum(SalesResult) as Sales , BioxellTerritories 
from UCP as t group by ID ,BioxellTerritories
ORDER BY BioxellTerritories ASC 

当我使用插入时

insert into SalesPerProduct 
(ProductID , Volume , Sales ,Territories )values
select t.ID, sum(Qty) as sum_BioxellTerritories , sum(SalesResult) 
as Sales , BioxellTerritories from UCP as t group by ID ,BioxellTerritories   ORDER BY BioxellTerritories ASC 

对我不起作用..对于数据样本这是我要插入的选择结果

【问题讨论】:

  • 什么对你不起作用?你有错误吗?您需要在insert 期间删除order by 并删除values(因为您使用的是select
  • 关键字“select”附近的语法不正确。
  • 哦,那里不需要values这个词
  • ty :) 为我工作你能写下你的答案来接受它吗你应得的:)
  • 已经发布了相同的答案,请随意选择其中一个:)

标签: sql sql-server-2008


【解决方案1】:

你只想要insert . . . select:

insert into SalesPerProduct (ProductID, Volume, Sales, Territories )
    select t.ID, sum(Qty) as sum_BioxellTerritories, sum(SalesResult) 
as Sales, BioxellTerritories
    from UCP as t
    group by ID, BioxellTerritories
    order by BioxellTerritories ASC ;

VALUES 关键字是不必要的。

【讨论】:

  • 另请注意按照此答案:始终使用带有insert 语句的目标列列表
【解决方案2】:

查看INSERT INTO SELECT 语句的参考: https://www.w3schools.com/sql/sql_insert_into_select.asp

简而言之,将SELECT 语句与INSERT INTO 组合时不需要VALUES 关键字。

如果您仍然有问题,我建议您发布您的表格定义,以便人们可以进一步帮助您。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-27
    • 2014-02-17
    • 2012-01-23
    • 2013-05-25
    相关资源
    最近更新 更多