[英]insert data from 3 tables with the same fields into 1 table
我有3個表( accnt
, jobcost
和servic15
)。 全部具有相同的字段( code
, jno
, ven
, date
)。 我需要在一個查詢中將這些表中的數據插入到另一個具有相同字段的表啞元中。 我該怎么做呢?
我已經使用了3個單獨的插入語句,如下所示:但是我需要在一條語句中:
INSERT INTO dbo.dummy
SELECT
dbo.jobcost.code,
dbo.jobcost.ven,
dbo.jobcost.date,
dbo.jobcost.jno,
FROM
dbo.jobcost
WHERE
dbo.jobcost.jno > '40000'
INSERT INTO dbo.dummy
SELECT
dbo.servic15.code,
dbo.servic15.ven,
dbo.servic15.date,
dbo.servic15.jno
FROM
dbo.servic15
WHERE
dbo.servic15.jno > '40000'
INSERT INTO dbo.dummy
SELECT
dbo.accnt.code,
dbo.accnt.ven,
dbo.accnt.date,
dbo.accnt.jno
FROM
dbo.accnt
WHERE
dbo.jobcost.jno > '40000'
您需要INSERT ... SELECT語句
INSERT INTO dummy (code, jno, ven, date)
SELECT code, jno, ven, date FROM accnt jno > '40000'
UNION ALL
SELECT code, jno, ven, date FROM jobcost jno > '40000'
UNION ALL
SELECT code, jno, ven, date FROM servic15 jno > '40000';
如果尚未創建表 ,請使用CREATE TABLE ... SELECT 。
INSERT INTO dummy (code, invno, ven, invdate, amon, accno, amnt, jno, saccno, ckno)
SELECT code, invno, ven, invdate, amon, accno, amnt, jno, saccno, ckno FROM accnt
WHERE jno > '40000'
UNION ALL
SELECT code, invno, ven, invdate, amon, accno, amnt, jno, saccno, ckno FROM jobcost
WHERE jno > '40000'
UNION ALL
SELECT code, invno, ven, invdate, amon, accno, amnt, jno, saccno, ckno FROM servic15
WHERE jno > '40000';
這工作
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.