簡體   English   中英

使用同一數據庫sql server中的一些過濾器將值從一個表A復制到表B

[英]Copy value from one table A to table B with some filter in the same database sql server

我在 sql server 中有 my_db 最新的表 A(原始數據),我想從 A 創建表 B。

表A

columA columB   columC columD                     columE
ali    paris    9003   2010-05-16 16:21:00.000    toy
ali    paris    902a   2010-05-16 16:21:00.000    toy
paul   paris
Yan    london
kris   london
kris   london
kris   london

表 B 應如下所示,在 columA 上使用主鍵

columA columB
ali    paris
paul   paris
yan   london
kris   london

我試圖用主鍵創建表 B,當嘗試插入時,出現錯誤,嘗試更新錯誤,所以我刪除並再次創建沒有鍵的數據類型幾乎相同,我復制了 columA 但不能用 columB 做同樣的事情 -->

INSERT INTO table B ( columA ) SELECT distinct( columA) FROM table A;

並得到非常煩人的錯誤,例如“無效的對象名稱,無效的列名稱”和有效的腳本或一段時間,我得到“無法綁定多部分標識符“my_db.dbo.table B.columA””

INSERT INTO table B ( columB )
SELECT columB FROM [table A]
WHERE [my_db].[dbo].[table B].columA = (SELECT columA FROM dbo.table B); 

我更關心以更規范的方式將數據從表 A 復制到表 B 的語法,如果有人對此類錯誤有線索,歡迎您。

為什么不一次插入兩列?

INSERT INTO tableB (columA, columnB)  
SELECT distinct columA, columnB FROM tableA;

請注意, distinct不是函數(它是語言關鍵字),因此它不帶括號。

看來你只是想要

insert into table_b( columnA, columnB )
  select distinct columnA, columnB
    from table_a

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM