我有两个表,我正试图进行联接或并集,从第二个表中引入一列。
SELECT Services,Metric_Type,services_be,Services_Be_L2,Services_Be
FROM table1
JOIN table2
ON table1.SERVICES_BE = table2.SERVICES_BE
Metric_Type
是我从table2
所需要的全部
潜在加入
表1
Services_Be,
SALES_NODE_LEVEL1,
Fiscal QT,
Fiscal YR,
表2
Services_Be,
Sales_L1 = SALES_NODE_LEVEL1,
Fiscal QT,
Fiscal YR
我想这是一个定义不明确的列错误。在select语句中,您列出了属于这两个表的字段SERVICES_BE,而sql解析器不知道您指的是哪一个表。请尝试使用表别名。
SELECT t1.Services,t2.Metric_Type,t1.services_be,t1.Services_Be_L2,t1.Services_Be
FROM table1 t1
Inner JOIN table2 t2 ON t1.SERVICES_BE = t2.SERVICES_BE
SELECT Services,Metric_Type,services_be,Services_Be_L2,Services_Be
FROM table1
JOIN table2
ON table1.SERVICES_BE = table2.SERVICES_BE
看起来像是一个有效的联接,这将允许您并排使用两个表中的列。您可能想使用的一件事是表别名,这样可以更容易地引用表,然后在选择列表中具体标识列所在的表,类似于:
SELECT t1.Services,t1.Metric_Type,t1.services_be,t2.Services_Be_L2,t2.Services_Be
FROM table1 t1
JOIN table2 t2
ON t1.SERVICES_BE = t2.SERVICES_BE
如果要将记录从一个表APPEND
到另一个表,则需要使用UNION
或UNION ALL
SELECT
Services_Be,
SALES_NODE_LEVEL1,
Fiscal QT,
Fiscal YR
FROM
Table11
UNION ALL
SELECT
Services_Be,
SALES_NODE_LEVEL1,
Fiscal QT,
Fiscal YR
FROM
Table12
追加时,顶部表和底部表之间的列定义和数据类型需要相同。UNION ALL
将附加来自Table2
的每个记录,而UNION
将仅附加Table1
中尚未存在的记录(有点像DISTINCT
(。