插入一个表,从两个表没有连接

时间:2016-12-14 16:53:07

标签: sql-server

我在Microsoft Sql Server中 我有三张桌子。

第一个表只有ID_CONTACT字段。

CREATE TABLE USERS_CONTACT(
 [ID_CONTACT] [int] NOT NULL PRIMARY KEY
)

第二个表格中有UNIQUE_CODE

的字段
CREATE TABLE TMP_UNIC_CODE_RECETTE(
 [UNIC_CODE] varchar(10)
)

我有第三个表有两个字段:

> ID_CONTACT, UNIC_CODE

CREATE TABLE UNIC_CODE_RECETTE(
 [ID_CONTACT] [int] NOT NULL PRIMARY KEY,
 [UNIC_CODE] varchar(10)
)

这两张表没有加入。 我需要随机推送第三个表ID_CONTACT和UNIC_CODE

我试过这个:

INSERT INTO UNIC_CODE_RECETTE
(ID_CONTACT, UNIC_CODE)
SELECT ID, (SELECT REAC FROM TMP_UNIC_CODE_RECETTE )
FROM USERS_CONTACT

但它不起作用。

你可以帮我查询吗?

由于

1 个答案:

答案 0 :(得分:1)

您不能像尝试使用子查询那样从子查询返回多个值。你可以使用top 1来做到这一点,如果你order by newid(),它会给你一个看似random value的信息。

insert into unic_code_recette (id_contact, unic_code)
select 
    uc.id_contact
  , unic_code  = (
    select top 1 
        unic_code
      from tmp_unic_code_recette 
      order by newid()
      )
  from users_contact uc