我在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
但它不起作用。
你可以帮我查询吗?
由于
答案 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