Sql 在更新该选择的字段时插入选择
我需要在我的数据库中重新插入数据,只有一个不同的字段。有没有一种方法可以让我通过一个查询来实现这一点。因此,从更新的选择中插入 这是我需要的选择 我需要在我的数据库中再次插入此select,但将代码从82更改为91。因此,我将在数据库中使用两倍的数据,其中一行是不同的。有没有一种方法可以让我通过一个查询来实现这一点 这是我目前的查询。但我不知道如何添加一个更新到这个Sql 在更新该选择的字段时插入选择,sql,sql-server,Sql,Sql Server,我需要在我的数据库中重新插入数据,只有一个不同的字段。有没有一种方法可以让我通过一个查询来实现这一点。因此,从更新的选择中插入 这是我需要的选择 我需要在我的数据库中再次插入此select,但将代码从82更改为91。因此,我将在数据库中使用两倍的数据,其中一行是不同的。有没有一种方法可以让我通过一个查询来实现这一点 这是我目前的查询。但我不知道如何添加一个更新到这个 INSERT INTO [OrdForm].[dbo].[SeasonDepSexGroup] SELECT * from [
INSERT INTO [OrdForm].[dbo].[SeasonDepSexGroup]
SELECT * from [SeasonDepSexGroup]
where DepartmentCode = 'UD' and KlasseCode = 'U'
我试着在网上搜索,但找不到任何类似的查询。你的思路是对的。只需选择季节代码所需的列+'91'
INSERT INTO [OrdForm].[dbo].[SeasonDepSexGroup]
(Code, Sex10Code, DepartmentCode, LastModified, SeasonCode, KlasseCode, CompanyCode, Kenmerk2)
SELECT Code, Sex10Code, DepartmentCode, LastModified, 91, KlasseCode, CompanyCode, Kenmerk2
FROM [SeasonDepSexGroup]
WHERE DepartmentCode = 'UD' and KlasseCode = 'U'
您需要在
select
上清楚地写下列名,并且您可以尝试在时使用CASE来实现您的期望
INSERT INTO [OrdForm].[dbo].[SeasonDepSexGroup]
(Code,Sex10Code,LastModified,SeasoneCode ....)
SELECT t.Code,
t.Sex10Code,
t.DepartmentCode
t.LastModified
(CASE WHEN t.SeasoneCode = 82 then 91 else t.SeasoneCode end) SeasoneCode
...
from [SeasonDepSexGroup] t
where DepartmentCode = 'UD' and KlasseCode = 'U'
@卡拉和@D-Shih的回答很好
有一个给你的答案:-)
请标记您正在使用的DBMS。您可以在SELECT
上使用CASE
语句来操作需要更改的值。另外,请按顺序写下你的插入
列名,并明确避免使用*(顺序不保证)。一个季节性团体?听起来很有趣。谢谢你非常简单的回答。
INSERT INTO [SeasonDepSexGroup]
SELECT [Code], [Sexl Code], [DepartmentCode], [Last Modified], 92, [KlasseCode], [CompanyCode], [Kenmerk2] from [SeasonDepSexGroup]
where DepartmentCode = 'UD' and KlasseCode = 'U'
and SeasonCode = 82
union all
SELECT * from [SeasonDepSexGroup]
where DepartmentCode = 'UD' and KlasseCode = 'U'
and SeasonCode <> 82;
| Code | Sexl Code | DepartmentCode | Last Modified | SeasonCode | KlasseCode | CompanyCode | Kenmerk2 |
|------|-----------|----------------|--------------------------|------------|------------|-------------|----------|
| TSHI | 2 | UD | 2018-02-22T13:37:50.46Z | 82 | U | GED | (null) |
| ACCE | 1 | UD | 2018-02-22T13:37:50.46Z | 82 | U | GED | (null) |
| ACWI | 1 | UD | 2018-02-22T13:37:50.463Z | 82 | U | GED | (null) |
| BERM | 1 | UD | 2018-02-22T13:37:50.463Z | 82 | U | GED | (null) |
| BODW | 1 | UD | 2018-02-22T13:37:50.463Z | 82 | U | GED | (null) |
| BROE | 1 | UD | 2018-02-22T13:37:50.467Z | 82 | U | GED | (null) |
| DAS | 1 | UD | 2018-02-22T13:37:50.467Z | 82 | U | GED | (null) |
| DENI | 1 | UD | 2018-02-22T13:37:50.467Z | 82 | U | GED | (null) |
| GILE | 1 | UD | 2018-02-22T13:37:50.467Z | 82 | U | GED | (null) |
| HEML | 1 | UD | 2018-02-22T13:37:50.47Z | 82 | U | GED | (null) |
| LEDE | 1 | UD | 2018-02-22T13:37:50.47Z | 82 | U | GED | (null) |
| LING | 1 | UD | 2018-02-22T13:37:50.47Z | 82 | U | GED | (null) |
| MANT | 1 | UD | 2018-02-22T13:37:50.473Z | 82 | U | GED | (null) |
| MTO | 1 | UD | 2018-02-22T13:37:50.473Z | 82 | U | GED | (null) |
| TSHI | 2 | UD | 2018-02-22T13:37:50.46Z | 92 | U | GED | (null) |
| ACCE | 1 | UD | 2018-02-22T13:37:50.46Z | 92 | U | GED | (null) |
| ACWI | 1 | UD | 2018-02-22T13:37:50.463Z | 92 | U | GED | (null) |
| BERM | 1 | UD | 2018-02-22T13:37:50.463Z | 92 | U | GED | (null) |
| BODW | 1 | UD | 2018-02-22T13:37:50.463Z | 92 | U | GED | (null) |
| BROE | 1 | UD | 2018-02-22T13:37:50.467Z | 92 | U | GED | (null) |
| DAS | 1 | UD | 2018-02-22T13:37:50.467Z | 92 | U | GED | (null) |
| DENI | 1 | UD | 2018-02-22T13:37:50.467Z | 92 | U | GED | (null) |
| GILE | 1 | UD | 2018-02-22T13:37:50.467Z | 92 | U | GED | (null) |
| HEML | 1 | UD | 2018-02-22T13:37:50.47Z | 92 | U | GED | (null) |
| LEDE | 1 | UD | 2018-02-22T13:37:50.47Z | 92 | U | GED | (null) |
| LING | 1 | UD | 2018-02-22T13:37:50.47Z | 92 | U | GED | (null) |
| MANT | 1 | UD | 2018-02-22T13:37:50.473Z | 92 | U | GED | (null) |
| MTO | 1 | UD | 2018-02-22T13:37:50.473Z | 92 | U | GED | (null) |