我怎样把我的两张桌子连起来



我有两个表,我正试图进行联接或并集,从第二个表中引入一列。

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到另一个表,则需要使用UNIONUNION 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(。

最新更新