我有三个sql表tblDocumentType (Doctypeid)
,tblDiscipline (DisciplineID)
tblDocType_Discipline
对于Doctypeid
中的每个tblDocumentType
,我需要插入所有DisciplineID
和Doctypeid到tblDocType_Discipline
表。
编写SQL查询的最佳方法是什么?
答案 0 :(得分:1)
Insert into tblDocType_Discipline
(DocTypeId,DisiplineId)
SELECT dt.DocTypeID, d.DisciplineId
FROM dbo.tblDocumentType dt
FULL OUTER JOIN dbo.tblDiscipline d
ON 1 = 1
我认为你正在寻找一个完整的外部联盟。
答案 1 :(得分:0)
您需要在Doctypeid
和DisciplineID
之间建立关系才能获得所需的结果。
如上所述,提供了类似的内容:
insert into tblDocType_Discipline
select Doctypeid
from tblDocumentType
where DisciplineID in
(
select DisciplineID
from tblDisicpline
)
该查询假定您的tblDocumentType
表格中包含DisciplineID
字段。如果没有,除非您有一个单独的连接表,否则无法创建该关系。