gpt4 book ai didi

sql-server - 从三个不同的表创建一个表

转载 作者:行者123 更新时间:2023-12-02 15:34:50 25 4
gpt4 key购买 nike

我在 SQL 中有三个表,我需要将它们全部合并为一个。我需要一张表中所有表的所有字段。所有表都包含来自三个不同年份的相同字段。我写的代码是:

CREATE TABLE COL_TBL_TRAINING_ALL_YEARS AS(
SELECT
COL_TBL_2010_TRN_RESULTS_new.*,
COL_TBL_TRN_RESULTS_GEMS_2011.*,
COL_TBL_TRN_RESULTS_GEMS_2012.*
FROM COL_TBL_2010_TRN_RESULTS_new,
COL_TBL_TRN_RESULTS_GEMS_2011,
COL_TBL_TRN_RESULTS_GEMS_2012
WHERE COL_TBL_2010_TRN_RESULTS_new.SYS_EMP_ID_NR = COL_TBL_TRN_RESULTS_GEMS_2011.SYS_EMP_ID_NR = COL_TBL_TRN_RESULTS_GEMS_2012.SYS_EMP_ID_NR)

我在“AS”一词附近收到错误的语法错误,在“=”附近收到错误的语法

我已经阅读了我的 SQL 书籍,但似乎找不到有关执行此操作的方法的解释,任何帮助将不胜感激。

最佳答案

您需要两个执行两步:

  1. 使用UNION ALL,就像前面提到的那样。但如果缺少某列,您应该对该列使用 NULL

  2. 您应该将结果插入到新表中。

所以它应该看起来像:

SELECT * 
INTO yournewtablename
FROM (SELECT col1,
col2,
col3
FROM col_tbl_2010_trn_results_new
UNION ALL
SELECT col1,
col2,
col3
FROM col_tbl_trn_results_gems_2011
UNION ALL
SELECT col1,
col2,
NULL AS Col3
FROM col_tbl_trn_results_gems_2012) n

这是一个演示:SQL FIDDLE

关于sql-server - 从三个不同的表创建一个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15204052/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com