带有子查询的插入语句

Insert statement with sub queries

我试图在 INSERT 语句中填充一些列,但我试图在一个 INSERT 语句中使用多个 select 语句。也许这是错误的。不确定。

我正在使用 2 个数据库。 ADVNET 和 JANEL

我正在尝试填充 ADVNET.dbo.KenCatItemTest

中的 4 列
  1. Column CategoryItemId{uniqueidentifier,not null} 我需要使用 NEWID() 来生成一个唯一标识符,但无法获取它。

  2. 列 ItemId{uniqueidentifier,not null},我需要从此语句中获取这 33 行:

    select itemid
    from janel.dbo.item
    where janel.dbo.item.itemnumber like 'c-%' and listprice > 0
    
  3. 列 CategoryID{uniqueidentifier,not null}

    我想指定'0FCA508F-7EB5-4C2E-8803-DE688C4126E5'

  4. Linesequence{int, not null}

    我需要从1开始,然后以1s递增。

我想出了以下几点:

insert into ADVNET.dbo.KenCatItemTest (CategoryItemId,ItemId,CategoryId)
  NEWID();
  select itemid from janel.dbo.item where janel.dbo.item.itemnumber like 'c-%' and listprice > 0;
  '0FCA508F-7EB5-4C2E-8803-DE688C4126E5'

对于 LineSequence 列,我正在考虑 AUTO_INCREMENT 功能或制作某种触​​发器。

我尽量缩进,但这里的文本框有点滑稽。

使用这个插入syntax

INSERT INTO ADVNET.dbo.KenCatItemTest
            (CategoryItemId,ItemId,CategoryId)
SELECT Newid(),itemid,'0FCA508F-7EB5-4C2E-8803-DE688C4126E5'
FROM   janel.dbo.item
WHERE  janel.dbo.item.itemnumber LIKE 'c-%'
       AND listprice > 0