SQL插入指定值和选定值

时间:2017-10-17 11:10:47

标签: mysql sql sql-server insert sybase

我有两张表格如下:
TableOwner:

UserID    Name      Initials  
1         Peter     Pet1  
2         Mary      Mar1
3         Petra     Pet2 

TableAsset

AssetID   AssetName    OwnerUserID  
1         Samsung      3  
2         Apple        1  
3         Huawei       2 

现在我想在TableAsset中插入这些记录:

AssetID   AssetName   OwnerUserID  
4         Doro        2
5         Sony        1

如何一步使用insert查询和select查询?

2 个答案:

答案 0 :(得分:0)

您可以在单个查询中执行此类操作。传递参数取决于您的操作方式。

insert into TableAsset(AssetName, OwnerUserID)
select 'Doro', (select UserID from TableOwner where Initials = 'Mar1')
union all
select 'Sony', (select UserID from TableOwner where Initials = 'Pet1');

答案 1 :(得分:-1)

这是对问题的原始版本的回答。

你可以查一查:

insert into tableAsset(AssetName, OwnerUserID)
    select @AssetName, o.UserId
    from tableOwner o
    where o.initials = @Initials;

此基本结构适用于任何数据库,但传递参数的方法可能因数据库而异。