插入到一个表中,从两个表中不加入
问题描述:
我在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
但它不工作。
你能帮我查询吗?
感谢
答
你不能从一个子查询返回多个值,你要使用它的方式。你可以使用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
“不工作”对任何人都没有任何意义。我们不知道你在做什么,或者什么不按照你期望的方式工作。如何发布表结构,样本数据和期望的输出。这里是一个开始的好地方。 http://spaghettidba.com/2015/04/24/how-to-post-a-t-sql-question-on-a-public-forum/ –