我不经常使用SQL,因此我自己找出解决方案似乎没有时间效率。
我想插入此查询的结果
select
zadavatel, advertiser
from
DATA_2015_CZ_CLEAN_v03
where
Advertiser is null and zadavatel is not null
group by
zadavatel, advertiser
进入包含这些列[Zadavatel],[Advertiser],[Note]
的表格此上,此广告客户的查询为null,但我想将广告客户的值更改为zadavatel值。显然是一排一排的。注意是可以为空的列。
使查询的结果看起来更容易理解。
Zadavatel Advertiser
Coca-Cola Null
Pepsi-cola Null
表Zadavatel可能看起来像这样
Zadavatel Advertiser Note
Mercedes Mercedes Null
Ferrero ltd Ferrero Null
更新后的Zadavatel应如下所示
Zadavatel Advertiser Note
Mercedes Mercedes Null
Ferrero ltd Ferrero Null
Coca-Cola Coca-Cola Null
Pepsi-Cola Pepsi-Cola Null
重要的是要提到的是,只有来自查询结果的广告客户才应该使用zadavatel值。正如您在决赛桌上看到的那样,费列罗有限公司和费列罗不匹配,这已经是人工处理的结果
由于
答案 0 :(得分:1)
有点晚,但它也可以帮到你
USE tempdb
GO
IF OBJECT_ID(N'tempdb.dbo.#Data1') IS NULL
BEGIN
CREATE TABLE #Data1
(
ID INT IDENTITY
,Valor1 VARCHAR(100)
,Valor2 VARCHAR(100)
)
END
GO
IF OBJECT_ID(N'tempdb.dbo.#Data2') IS NULL
BEGIN
CREATE TABLE #Data2
(
ID INT IDENTITY
,Valor1 VARCHAR(100)
,Valor2 VARCHAR(100)
,Note VARCHAR(100)
)
END
INSERT INTO #Data1 (Valor1) VALUES ('test'), ('test3')
INSERT INTO #Data2 (Valor1,Valor2) VALUES ('test','test3'),('test2','test4')
GO
SELECT * FROM #Data1
SELECT * FROM #Data2
GO
INSERT INTO #Data2 (Valor1,Valor2)
SELECT Valor1, COALESCE (Valor2,Valor1) FROM #Data1
GO
SELECT * FROM #Data2
GO
DROP TABLE #Data2
DROP TABLE #Data1
答案 1 :(得分:0)
您可以通过添加INTO .....
插入Temp表SELECT zadavatel, COALESCE(advertiser, zadavatel), NULL
INTO #TEMPTABLE
FROM DATA_2015_CZ_CLEAN_v03
COALESCE处理广告商是否为NULL并在该实例中使用zadavatel。 不确定你想要什么。
如果您想将它放入permananet表中并且您已正确定义了表格....
INSERT INTO YourTable
(Field1, Field2, Field3)
SELECT zadavatel, COALESCE(advertiser, zadavatel), NULL
FROM DATA_2015_CZ_CLEAN_v03