如何轻松连接表 Microsoft SQL Server?
Posted
技术标签:
【中文标题】如何轻松连接表 Microsoft SQL Server?【英文标题】:How to join tables easily Microsoft SQL Server? 【发布时间】:2010-07-29 08:48:00 【问题描述】:我有两个用于类别的单独表格。
一个是Categories(ID, Title, Description)
,另一个是SubCategories(ID, UpperID, Title, Description)
我想将类别中的记录插入到upperID=0 的子类别中。我看过 SQL SELECT INTO
,但不知道如何将它用于现有表。
【问题讨论】:
您想维护类别的初始 ID 吗?如果是这样,它们是否不存在于 SubCategories 中? 我想加入这些表,因为我希望能够为数据库中的另一条记录(如果它是工厂)设置类别或子类别 ID 【参考方案1】:Insert Into dbo.SubCategories (UpperId, Title, Description)
Select 0, Title, Description
From dbo.Categories
这假定两个表中的 ID 列都是 Identity 列,并且不应将 Categories 中的 ID 转移到 SubCategories 表中
【讨论】:
添加到答案中,如果您也想传递 ID(并且它与现有密钥不冲突),请使用SET IDENTITY_INSERT SubCategories ON
我打算添加它,但由于我不是 100% 确定 OP 想要什么,我决定将其省略以避免混淆。不过,这仍然是一个很好的观点。
使用:INSERT INTO dbo.Categories (UpperId, Title, Description) SELECT UpperID, Title, Description FROM dbo.SubCategories;因为子类别有来自类别的 ID,所以现在我不需要更改 catID :)【参考方案2】:
INSERT INTO SubCategories(ID, UpperID, Title, Description)
SELECT ID, 0, Title, Description FROM Categories
假设 Id 不是 Identity 字段。
【讨论】:
-,这会给你一个 mssql 错误......!看看巴里的答案(语法正确) 不......如果你在谈论身份,那么我已经解释过了。 不...这与身份无关...这只是您的无效语法:INSERT INTO TABLE (Column1, Column2, ...) VALUES (SubSelect)
无效。它必须声明INSERT INTO TABLE (Column1, Column2, ...) SubSelect
以上是关于如何轻松连接表 Microsoft SQL Server?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Mac(或 Linux)上连接/运行 Joomla 到远程 Microsoft SQL 服务器/与远程 Microsoft SQL 服务器连接/运行?
即使使用 PySpark 存在表,如何写入 Microsoft SQL Server 表
如何在 Microsoft SQL Server 中制作非数值表的数据透视表?
如何在 iPhone 中连接 Microsoft SQL 服务器?