Mysql 将具有相同字段的3个表中的数据插入到1个表中

Mysql 将具有相同字段的3个表中的数据插入到1个表中,mysql,sql,insert,insert-into,Mysql,Sql,Insert,Insert Into,我有3个表(accnt,jobcost,和servicic15)。所有字段都相同(code,jno,ven,date)。我需要在一个查询中将这些表中的数据插入另一个名为dummy的表中,该表具有相同的字段。我该怎么做 我在语句中使用了3个单独的insert,如下所示:但我需要在一个语句中使用它: INSERT INTO dbo.dummy SELECT dbo.jobcost.code, dbo.jobcost.ven, dbo.jobcost.date, dbo.jobcost.jno, FR

我有3个表(
accnt
jobcost
,和
servicic15
)。所有字段都相同(
code
jno
ven
date
)。我需要在一个查询中将这些表中的数据插入另一个名为dummy的表中,该表具有相同的字段。我该怎么做

我在语句中使用了3个单独的insert,如下所示:但我需要在一个语句中使用它:

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'

dbo.servic15.jno>“40000”
你需要一份声明

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';
如果尚未创建表,请使用


当我这样做时,它告诉我:所有使用UNION、INTERSECT或EXCEPT运算符组合的查询在其目标列表中必须有相同数量的表达式。这可能是因为accnt有一个名为“imported”的额外字段,我不想将其插入到新表中?@samhatcher您的表没有相同的结构,请尝试编辑应答OK,这样就行了。现在我如何告诉它只获取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 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';
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';